【问题标题】:Error while taking backup with mysqldump in mysql command line在 mysql 命令行中使用 mysqldump 进行备份时出错
【发布时间】:2011-12-20 12:18:55
【问题描述】:

您好,我正在尝试从 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 命令行进行备份。

提前致谢。

【问题讨论】:

    标签: mysql mysqldump


    【解决方案1】:

    mysqldump 不是 MySQL 命令,它是命令行实用程序。你必须从你的 shell 命令行调用它。

    【讨论】:

    • 访问它以运行mysql -u username -ppassword 命令的方式相同 - 通过 SSH
    【解决方案2】:

    在你的命令行界面而不是在 MYSQL 命令行中输入这个:

    mysqldump -u username -ppassword databasename > backup.sql
    

    例如,如果用户名是'root',密码是'abcdefg',数据库名称是'mydatabase',那么语法是:

    mysqldump -u root -pabcdefg mydatabase > backup.sql
    

    backup.sql 是存储备份的文件的名称,因此您可以使用任何名称。

    【讨论】:

    • 不会向现有答案添加任何内容。
    • 这实际上解决了我的问题。使用 --password=PASSWORD 效果显着,而且效果很好……
    【解决方案3】:

    在您的命令中,-ppassword 之间不能有空格。此外,mysqldump 必须在命令行上运行,而不是在 mysql shell 中。

    在你的命令行上试试这个

    mysqldump -u username -ppassword databasename > backup.sql
    

    【讨论】:

    • 我也试过了,但没有用,我遇到了同样的错误。如何在命令行中运行 mysqldump?请告诉我。感谢重播。
    【解决方案4】:

    直到看到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”中。

    【讨论】:

      【解决方案5】:

      问题是您正在从 MySQL 提示符而不是 Linux shell 执行命令。退出 mysql 命令行并从 OS shell 运行命令(删除末尾的分号)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-03
        • 2019-09-05
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        • 2014-11-01
        相关资源
        最近更新 更多