【问题标题】:Import mysql DB with XAMPP in command LINE在命令行中使用 XAMPP 导入 mysql DB
【发布时间】:2011-08-27 21:08:06
【问题描述】:

我有这个命令:

mysql -u #myusername -p #mypasswd MYBASE < c:\user\folderss\myscript.sql

但我收到以下错误:

Error
unknow command '\U'
unknow command '\m'
unknow command '\D'
unknow command '\L'

【问题讨论】:

    标签: mysql import xampp


    【解决方案1】:

    对于那些使用 Windows 操作系统的人,我可以使用cmd.exe 中的这个命令将一个大型 mysqldump 文件导入我的本地 XAMPP 安装:

    C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql
    

    另外,我刚刚写了一个more detailed answer 到另一个关于 MySQL 导入的问题,如果这是你所追求的。

    【讨论】:

    • 最新版本的 xampp 我不得不使用 mysql.exe
    • 我使用上面的命令,替换我自己的用户名和密码以及文件名,我得到这个输出:mysql Ver 15.1 Distrib 10.1.16-MariaDB, for Win32 (AMD64) Copyright (c) 2000 ,2016 年,甲骨文、MariaDB Corporation Ab 等。用法:mysql [OPTIONS] [database] 默认选项按给定顺序从以下文件中读取: C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C:\xampp\mysql\my.cnf C:\xampp\mysql\bin\my.ini C:\xampp\mysql\bin\my.cnf 读取以下组: mysql客户端客户端-服务器客户端-mariadb
    • 有效。澄清一下:这需要在 windows cmd 提示符下完成。在 Git Bash 提示符下对我不起作用。
    【解决方案2】:

    转到 xampp shell 命令行 并运行

    mysql -h localhost -u username databasename < dump.sql
    

    【讨论】:

    • 在同一文件夹中的C:\xampp\mysql\bin` and have the dump.sql` 中执行上述命令。需要很长时间的大型导入提示:在导入过程中,您可以刷新 phpmyadmin 站点并查看是否创建了表。
    【解决方案3】:

    您可能还需要指定主机。从您的陈述来看,您似乎在 Windows 上运行。试试这个:

    mysql -h localhost -u #myusername -p #mypasswd MYBASE
          < c:/user/folderss/myscript.sql
    

    或者

    mysql -h localhost -u #myusername -p #mypasswd MYBASE
           < "c:\user\folderss\myscript.sql"
    

    【讨论】:

    • 好的,发送。我现在有访问被拒绝的问题。我可以访问一些数据库,而不是我通过 phpmyadmin 创建的数据库。我把所有权限都给了一个用户。
    • 我以 odbc 用户身份连接如何切换到 root ?
    • 登录后无法“切换到 root”。没有什么像 Unix 中的 'su' 或 'sudo' 命令。您需要立即以 root 身份登录: - mysql -u root -h localhost ...
    【解决方案4】:
    mysql -h localhost -u username databasename < dump.sql
    

    有效,试试吧。 如果密码为空,则无需添加-p 参数。

    【讨论】:

      【解决方案5】:

      在 (Windows PC) 上复制数据库转储文件 D:\xampp\mysql\bin

      mysql -h localhost -u root Databasename <@data11.sql
      

      【讨论】:

        【解决方案6】:

        Daniel 发布的这条命令很有效

        C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql
        

        只需将数据库用户名和数据库名称放在不带这些备份的位置

        **注意:确保您的数据库文件位于 htdocs 文件夹中,否则您将收到拒绝访问错误

        【讨论】:

          【解决方案7】:

          有效:

          mysql -u root -p db_name < "C:\folder_name\db_name.sql"
          

          C:\是例如

          【讨论】:

            【解决方案8】:

            毫无疑问,它可以解决问题:

            C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql
            

            但有时你会发现“MySql Server 已经走了一条路” 为此,您需要更改 mysql/bin/my.ini max_allowed_packet = 64M to my.ini

            【讨论】:

              【解决方案9】:

              /opt/lampp/bin/./mysql -u dbusername -p dbname

              【讨论】:

              • 请只为问题添加新答案。这个答案已经在这个线程中发布了很多次,并且没有添加任何内容。
              • 这其实是页面上Linux的第一个正确答案!
              【解决方案10】:

              我认为命令没问题,问题在于空格。 请注意 -u 和 #myusername 之间的空格以及 -p 和 #mypasswd 之间的空格。

              mysql -u #myusername -p #mypasswd MYBASE < c:\user\folderss\myscript.sql
              

              也可以写成:

              mysql -u#myusername -p#mypasswd MYBASE < c:\user\folderss\myscript.sql
              

              另外,你不需要加上-p和命令的时间,如果你的密码是空的,它不会要求你输入密码。 如果你的数据库有密码,它会要求你输入密码。

              谢谢

              【讨论】:

                【解决方案11】:

                过程很简单-

                1. 将数据库移动到所需的文件夹,例如/xampp/mysql 文件夹。

                2. 打开cmd并导航到上述位置

                3. 使用命令导入数据库-“mysql -u root -p dbpassword newDbName

                4. 检查表格以进行验证。

                【讨论】:

                  【解决方案12】:

                  在 Windows 中,将 MySQL 文件(即example.sql)放在C:\xampp\mysql\bin

                  打开 XAMPP 控制面板,然后启动 Shell:

                  cd c:\xampp\mysql\bin
                  mysql --default-character-set=utf8 -h localhost -u username databasename < example.sql
                  

                  注意:如果您打算使用 UTF-8,则使用 --default-character-set=utf8 有助于防止出现特殊字符的编码问题。

                  然后,从C:\xampp\mysql\bin 中删除 MySQL 文件。

                  【讨论】:

                    【解决方案13】:

                    以可控的步骤解决问题:

                    (1) 脚本看起来不错吗?

                    DOS E:\trials\SoTrials\SoDbTrials\MySQLScripts
                    type ansi.sql
                    show databases
                    

                    (2) 你能连接到你的数据库吗(即使没有指定主机)?

                    DOS E:\trials\SoTrials\SoDbTrials\MySQLScripts
                    mysql -u root -p mysql
                    Enter password: ********
                    Welcome to the MySQL monitor.  Commands end with ; or \g.
                    Your MySQL connection id is 9
                    Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)
                    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
                    

                    (3) 你能提供脚本吗? (希望有更多/更好的错误信息)

                    mysql> source ansi.sql
                    +--------------------+
                    | Database           |
                    +--------------------+
                    | information_schema |
                    | ...                |
                    | test               |
                    +--------------------+
                    7 rows in set (0.01 sec)
                    mysql> quit
                    Bye
                    

                    (4) 为什么它(仍然不)起作用?

                    DOS E:\trials\SoTrials\SoDbTrials\MySQLScripts
                    mysql -u root -p mysql < ansi.sql
                    Enter password: ********
                    Database
                    information_schema
                    ...
                    test
                    

                    我怀疑脚本的编码可能是罪魁祸首,但我遇到了 UTF8 或 UTF16 编码文件的语法错误:

                    ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your
                    MySQL server version for the right syntax to use near '´╗┐
                    show databases' at line 1
                    

                    这可能是版本问题;所以我认为你应该确保你的脚本的编码。

                    【讨论】:

                      【解决方案14】:

                      我认为 OP 的问题不是逃避斜线。 在 Windows 上,类似:"c:\user\folderss\myscript.sql" 的路径在命令行中应该写成:

                       c:\\\user\\\folders\\\myscript.sql
                      

                      或:

                      c:/user/folders/myscript.sql
                      

                      因此来自"c:\user""\u" 被解释为命令。

                      请参阅:http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html 了解更多信息

                      【讨论】:

                        【解决方案15】:

                        这是我尝试从 xampp 服务器中的 cmd 导入数据库 对我来说正确的命令是你可以根据你的要求更改它。我还附上了我第一次从命令行导入 db 时遇到的错误。你可以看到我使用的最后一个命令,我把它粘贴在这里也对我有用。

                        mysql -h localhost -u root ovxsolut_windhs < C:\Users\eee\Downloads\ovxsolut_windhs.sql
                        

                        【讨论】:

                          【解决方案16】:

                          C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME}

                          mysql -u root -p dbname

                          【讨论】:

                            【解决方案17】:
                            mysql -h localhost -u username -p databasename < dump.sql
                            

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 2015-08-29
                              • 1970-01-01
                              • 2013-07-14
                              相关资源
                              最近更新 更多