您好我正在尝试从mysql命令行客户端进行备份。我正在使用mysqldump来使用用户名和密码进行备份。 以下是我用于备份数据库的命令。
mysql> mysqldump -u username -p password databasename > backup.sql;
我收到了以下错误
ERROR 1064 (42000): 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 'mysql
dump -u username -p password fms > backup.sql' at line 1
虽然命令似乎是正确的,但我仍然会收到错误。请告诉我有没有其他方法从mysql命令行进行备份。
提前致谢。
答案 0 :(得分:18)
mysqldump
不是MySQL命令,它是命令行实用程序。您必须从shell命令行调用它。
答案 1 :(得分:3)
问题是您是从MySQL提示符而不是Linux shell执行命令。退出mysql命令行并从OS shell运行命令(删除末尾的分号)
答案 2 :(得分:3)
在您的命令中,-p
和password
之间不能有空格。此外,mysqldump必须在命令行上运行,而不是在mysql shell中运行。
在命令行上尝试此操作
mysqldump -u username -ppassword databasename > backup.sql
答案 3 :(得分:2)
在我看到this question之前,我不明白其他人想说的是什么。
问题是,您无法访问“mysql.exe”并将mysqldump
放入其中。 “mysqldump.exe”是另一个文件,因此您必须从操作系统的命令行执行它,并将参数传递给执行。
所以,在DOS中(当然是在Windows上),请说明你在目录中:“C:\ xampp \ mysql \ bin”,然后你可以调用以下命令:
mysqldump -u root -p test > test.sql
您也可以这样调用它,因此您可以明确地看到您正在执行文件:
.\mysqldump.exe -u root -p test > test.sql
如果它可以更干净,你会在DOS中看到这一行:
c:\xampp\mysql\bin>.\mysqldump.exe -u root -p test > test.sql
Ps:在该代码中,系统会要求您在执行后通知密码。实际上,如果您将密码直接放在转储行中,“mysqldump.exe”会提供给您的推荐。
Ps 2:如果您使用root用户的默认设置(即使用空密码),则只需在要求通知密码时按“Enter”键。
Ps 3:“test.sql”将在“mysqldump.exe”的同一目录中创建。在本例中,在:“C:\ xampp \ mysql \ bin”。
答案 4 :(得分:1)
在命令行界面中键入此内容,而不是在MYSQL命令行中输入:
mysqldump -u username -ppassword databasename > backup.sql
例如,如果用户名是“root”,密码是“abcdefg”,数据库名称是“mydatabase”,则语法为:
mysqldump -u root -pabcdefg mydatabase > backup.sql
backup.sql
是存储备份的文件的名称,因此您可以拥有任何名称。