WindowsでMySQL 5.5を実行していて、mysqldumpを試みています。
"C:\WebServer\MySQL Server 5.5\bin\mysqldump.exe" -u user -ppassword database > "C:\backup.sql"
しかし、エラーが発生します:
mysqldump:不明なオプション '-ビープ音なし'
これはかなり基本的なコマンドで、他の2つの開発ボックスで機能するので、何が原因なのかわかりませんか?
同じ問題、MySQL my.iniのビープ音のない行をコメント化(#)して問題を解決しました。
私は この答え をdba.stackexchange.comで見つけました、これはとても役に立ちます:
no-beep
オプション は、エラーが発生したときにmysql
コマンドラインクライアントがビープ音を鳴らさないようにします。それが必要なオプションである場合は、
[mysql]
[またはmy.ini]のmy.cnf
セクションにあるはずです。このエラーは、それが[client]
のmy.cnf
セクションにあることを示しており、オプションが認識されないため、[...]がエラーをスローします。
my.cnf
を確認し、行を削除するか、[mysql]
ではなく[client]
セクションに配置してください。問題はありません。[client]オプショングループは、すべてのクライアントプログラムによって読み取られます(mysqldでは読み取られません)。これにより、すべてのクライアントに適用されるオプションを指定できます。たとえば、[client]は、サーバーへの接続に使用するパスワードを指定するために使用するのに最適なグループです。 (ただし、他の人があなたのパスワードを見つけられないように、オプションファイルは自分だけが読み書きできることを確認してください。)オプションが[client]グループに含まれていないことを確認してください。使用する。オプションを理解しないプログラムを実行しようとすると、エラーメッセージが表示されて終了します。
環境変数またはmy.cnfファイルに何かありますか?
価値があるのは、設定ファイルの[client]
セクションにno-beepオプション(mysqlクライアントでは有効ですが、mysqldumpでは有効ではないオプション)を指定すると、
mysqldump: unknown option '--no-beep'
( naitsirch's answer で述べたように、mysqldumpなどの他のクライアントプログラムで使用しないように、[client]
セクションから[mysql]
セクションに移動する必要があります。 。)
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ではなく、1つ上のディレクトリを使用していました。
C:\ Program Files\MySQL\MySQL Server 5.6\my.iniを削除すると、問題が解決します。
これに関連する注意点の1つとして、インストールされているさまざまなMySQL製品に注意する必要があります。次のシナリオはそれを最もよく説明します。
そのため、MySQLワークベンチは、対象とするMySQLバージョン内のmy.ini
ファイルから設定を取得すると想定するかもしれません。これは、ワークベンチでの管理のための構成のセットアップの一部として、そのインストールに固有のmy.ini
を指す必要があるため、安全な想定です。ただし、使用するものとしてC:\Program Files\MySQL\my.ini
にあるものにラッチすることがわかったため、これは正しくありません。したがって、ワークベンチを正しく機能させるには、このファイルを編集する必要があります。
No-beepオプションを削除するとうまくいきましたが、Windowsディレクトリのmy.iniファイルを変更する必要がありました!ちなみにWindows 10を使っています。
別の解決策は、--no-defaults
オプション
例:mysqldump --no-defaults -u root -p [DB_NAME] > [FILE_NAME].sql