我在Windows上运行MySQL 5.5,尝试一个mysqldump:
“C:\ WebServer \ MySQL Server 5.5 \ bin \ mysqldump.exe”-u用户密码数据库>“C:\ backup.sql”
但是得到错误:
mysqldump:未知选项“ – 无声”
这是一个非常基本的命令,并在另外两个开发盒上工作,所以不知道是什么原因造成的?
同样的问题,在MySQL my.ini中注释掉(#)无哔声行,解决了这个问题。
我在dba.stackexchange.com上找到了这个答案 ,这非常有帮助:
no-beep
选项会导致mysql
命令行客户端在发生错误时不发出哔声。如果这是你想要的选项,它应该在
my.cnf
[或my.ini]的[mysql]
部分。 这个错误表明它位于my.cnf
的[client]
部分,由于该选项无法识别,所以会引发错误。检查你的
my.cnf
并删除该行或将其放在[mysql]
部分而不是[client]
,你应该是好的。所有客户端程序(而不是mysqld)读取[client]选项组。 这使您可以指定适用于所有客户端的选项。 例如,[client]是完美的组,用于指定用于连接到服务器的密码。 (但请确保选项文件只能由您自己读写,以便其他人无法找到您的密码。)除非所有客户端程序都能识别您,否则请勿在[客户端]组中添加选项使用。 如果您尝试运行它们,则在显示错误消息后,不明白该选项的程序将退出。
东西在一个环境变量或my.cnf文件?
对于什么是值得的,当我在配置文件的[client]
部分放置no-beep选项(一个mysql客户端的有效选项,而不是mysqldump)时,我得到
mysqldump: unknown option '--no-beep'
尽管从mysql服务的属性中指定的my.ini文件中的客户端部分删除了“no”提示音,问题仍然存在。 设置的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文件中包含无声的选项。 mysqldump没有使用服务指定的my.ini,而是使用了一个目录。
删除C:\ Program Files \ MySQL \ MySQL server 5.6 \ my.ini解决了这个问题。
关于这个的注意事项你必须知道你的各种已安装的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安装程序配置向导创建)
所以你可能会认为MySQL Workbench从你正在使用的MySQL版本中的my.ini文件中绘制设置。 这将是一个安全的假设,因为在Workbench中设置管理配置的一部分需要指向特定于该安装的my.ini。 但是,这是不正确的,因为我发现它锁定在位于C:\ Program Files \ MySQL \ my.ini作为使用的一个。 因此您必须编辑此文件以使Workbench正常工作。
删除无声的选项为我工作,但我不得不改变my.ini文件在我的Windows目录 ! 我正在使用Windows 10的方式。
从C:\ProgramData\MySQL\MySQL server 5.6
删除my.ini
解决了我的问题。