mysqldump未知选项没有蜂鸣声

问题描述 投票:21回答:8

我正在Windows上运行MySQL 5.5,尝试使用mysqldump:

 "C:\WebServer\MySQL Server 5.5\bin\mysqldump.exe" -u user -ppassword database > "C:\backup.sql"

但得到错误:

mysqldump:未知选项' - no beep'

这是一个非常基本的命令,并且可以在另外两个开发盒上运行,所以不确定是什么导致这个?

mysql windows option
8个回答
30
投票

同样的问题,注释掉(#)MySQL my.ini中的无蜂鸣声线,解决了这个问题。


9
投票

我在dba.stackexchange.com上找到了this answer,这非常有帮助:

no-beep option导致mysql命令行客户端在发生错误时不发出蜂鸣声。

如果这是你想要的选项,它应该在你的[mysql] [或my.ini]的my.cnf部分。此错误表明它位于[client]my.cnf部分,导致错误抛出错误,因为该选项无法识别。

检查你的my.cnf并删除线或将其放在[mysql]部分而不是[client],你应该是好的。

[client]选项组由所有客户端程序读取(但不是由mysqld读取)。这使您可以指定适用于所有客户端的选项。例如,[client]是用于指定用于连接服务器的密码的完美组。 (但请确保选项文件只能由您自己读写,以便其他人无法找到您的密码。)请确保不要在[客户端]组中添加选项,除非所有客户端程序都识别您使用。如果尝试运行错误消息,则在显示错误消息后,不理解该选项的程序将退出。

- http://dev.mysql.com/doc/refman/5.6/en/option-files.html


7
投票

环境变量或my.cnf文件中的东西?

对于它的价值,当我在配置文件的[client]部分中放入no-beep选项(mysql客户端的有效选项,但不是mysqldump)时,我得到了

mysqldump: unknown option '--no-beep'

(如naitsirch's answer中所述,它应该从[client]部分移动到[mysql]部分,因此它不会尝试将其用于其他客户端程序,例如mysqldump。)


1
投票

尽管从mysql服务的属性中指定的my.ini文件中的客户端部分删除了-no-beep otion,但问题仍然存在。 MYSQL56服务设置使用来自E:\ Program Data \ MySQL \ MySQL Server 5.6 \的my.in。这个ini文件在[client]部分下没有-no - beep选项。

那问题是什么?

在我的设置中,mysqldump.exe驻留在C:\ Program Files \ MySQL \ MySQL Server 5.6 \ bin。当它作为命令行选项运行时,mysql使用C:\ Program Files \ MySQL \ MySQL Server 5.6 \ my.ini。这个ini文件中包含no-beep选项。 mysqldump没有使用服务指定的my.ini,而是使用了一个目录。

删除C:\ Program Files \ MySQL \ MySQL Server 5.6 \ my.ini解决了这个问题。


0
投票

删除no-beep选项对我有用,但我不得不更改windows目录中的my.ini文件!顺便说一下,我正在使用Windows 10。


0
投票

与此相关的一个注意事项,您必须了解各种已安装的MySQL产品。以下方案最能说明问题。

  • C:\ Program Files \ MySQL \ MySQL Server 5.5 \ my.ini(从以前的安装创建)
  • C:\ Program Files \ MySQL \ MySQL Server 5.6 \ my.ini(有人在这里复制了这个,谁知道原因)
  • C:\ Program Files \ MySQL \ my.ini(由MySQL Installer配置向导创建)

因此,您可能会认为MySQL Workbench从您正在使用的MySQL版本中的my.ini文件中绘制设置。这是一个安全的假设,因为在Workbench中设置管理配置的一部分需要指向特定于该安装的my.ini。然而这是不正确的,因为我发现它锁定在位于C:\Program Files\MySQL\my.ini的那个作为要使用的那个。因此,您必须编辑此文件以使Workbench正常运行。


0
投票

替代解决方案是使用--no-defaults选项

例如:mysqldump --no-defaults -u root -p [DB_NAME] > [FILE_NAME].sql


-3
投票

my.ini删除C:\ProgramData\MySQL\MySQL Server 5.6解决了它。

© www.soinside.com 2019 - 2024. All rights reserved.