【发布时间】: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 -u #myusername -p #mypasswd MYBASE < c:\user\folderss\myscript.sql
但我收到以下错误:
Error
unknow command '\U'
unknow command '\m'
unknow command '\D'
unknow command '\L'
【问题讨论】:
对于那些使用 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 shell 命令行 并运行
mysql -h localhost -u username databasename < dump.sql
【讨论】:
C:\xampp\mysql\bin` and have the dump.sql` 中执行上述命令。需要很长时间的大型导入提示:在导入过程中,您可以刷新 phpmyadmin 站点并查看是否创建了表。
您可能还需要指定主机。从您的陈述来看,您似乎在 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"
【讨论】:
mysql -h localhost -u username databasename < dump.sql
有效,试试吧。
如果密码为空,则无需添加-p 参数。
【讨论】:
在 (Windows PC) 上复制数据库转储文件 D:\xampp\mysql\bin
mysql -h localhost -u root Databasename <@data11.sql
【讨论】:
Daniel 发布的这条命令很有效
C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql
只需将数据库用户名和数据库名称放在不带这些备份的位置
**注意:确保您的数据库文件位于 htdocs 文件夹中,否则您将收到拒绝访问错误
【讨论】:
有效:
mysql -u root -p db_name < "C:\folder_name\db_name.sql"
C:\是例如
【讨论】:
毫无疑问,它可以解决问题:
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
【讨论】:
/opt/lampp/bin/./mysql -u dbusername -p dbname
【讨论】:
我认为命令没问题,问题在于空格。 请注意 -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和命令的时间,如果你的密码是空的,它不会要求你输入密码。 如果你的数据库有密码,它会要求你输入密码。
谢谢
【讨论】:
过程很简单-
将数据库移动到所需的文件夹,例如/xampp/mysql 文件夹。
打开cmd并导航到上述位置
使用命令导入数据库-“mysql -u root -p dbpassword newDbName
检查表格以进行验证。
【讨论】:
在 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 文件。
【讨论】:
以可控的步骤解决问题:
(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
这可能是版本问题;所以我认为你应该确保你的脚本的编码。
【讨论】:
我认为 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 了解更多信息
【讨论】:
C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} mysql -u root -p dbname
【讨论】:
mysql -h localhost -u username -p databasename < dump.sql
【讨论】: