我在 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 my.ini 中的 no-beep 行,解决了问题。
我在 dba.stackexchange.com 上找到了这个答案,非常有帮助:
该
no-beep
选项使mysql
命令行客户端在发生错误时不发出哔声。如果这是您想要的选项,它应该在
[mysql]
您的my.cnf
[或 my.ini] 部分中。此错误表明它位于[client]
your 的部分中my.cnf
,这会导致 [...] 由于无法识别该选项而引发错误。检查您的
my.cnf
并删除该行或将其放在该[mysql]
部分中,而不是[client]
您应该很好。[client] 选项组被所有客户端程序读取(但不是 mysqld)。这使您能够指定适用于所有客户端的选项。例如,[client] 是用于指定用于连接服务器的密码的完美组。(但要确保选项文件只有你自己可读可写,以免其他人查到你的密码。) 确保不要将选项放在 [client] 组中,除非它被你所有的客户端程序识别采用。如果您尝试运行不理解该选项的程序,则会在显示错误消息后退出。
环境变量或 my.cnf 文件中的内容?
对于它的价值,当我将 no-beep 选项(mysql 客户端的有效选项,但不是 mysqldump 的有效选项)放在[client]
我的配置文件部分时,我得到
mysqldump: unknown option '--no-beep'
(正如naitsirch 的回答中提到的,它应该从一个[client]
部分移到[mysql]
另一个部分,这样它就不会尝试将它用于其他客户端程序,例如 mysqldump。)
与此相关的一个注意事项是,您必须了解已安装的各种 MySQL 产品。以下场景最好地解释了它。
因此,您可能会假设 MySQL Workbench 从my.ini
您正在处理的 MySQL 版本内的文件中提取设置。这将是一个安全的假设,因为在 Workbench 中设置管理配置需要指向my.ini
特定于该安装的配置。但是,这是不正确的,因为我发现它会锁定在C:\Program Files\MySQL\my.ini
要使用的那个上。因此,您必须编辑此文件以使 Workbench 正常运行。
尽管从 mysql 服务属性中指定的 my.ini 文件中的 client 部分中删除了 -no--beep 选项,但问题仍然存在。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 即可解决问题。
替代解决方案是使用--no-defaults
选项
例如:mysqldump --no-defaults -u root -p [DB_NAME] > [FILE_NAME].sql
删除 no-beep 选项对我有用,但我必须更改我的 windows 目录中的 my.ini 文件!顺便说一句,我正在使用Windows 10。
也为我解决了
C:\ProgramData\MySQL\MySQL 服务器 8.0
重启电脑
解决方法很简单如果你也面临同样的---没有哔---问题
然后只需按下windows按钮并在那里搜索mysql安装程序社区,您将在mysql服务器的链接上找到重新配置的选项
只需单击它并按照几个步骤进行操作,然后通过打开命令提示符并键入 mysql -u root -p 来测试它是否完成
并输入root密码
我希望这对你们也有帮助,因为我自己发现它试图解决
产生这个问题是因为mysql数据库之间没有建立连接所以我们只是发起了一个连接,从而让它像往常一样运行
删除my.ini
为C:\ProgramData\MySQL\MySQL Server 5.6
我解决了它。