web-dev-qa-db-ja.com

mysqldump不明なオプションのビープ音なし

WindowsでMySQL 5.5を実行していて、mysqldumpを試みています。

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

しかし、エラーが発生します:

mysqldump:不明なオプション '-ビープ音なし'

これはかなり基本的なコマンドで、他の2つの開発ボックスで機能するので、何が原因なのかわかりませんか?

23
JustBaron

同じ問題、MySQL my.iniのビープ音のない行をコメント化(#)して問題を解決しました。

32
Matt

私は この答え をdba.stackexchange.comで見つけました、これはとても役に立ちます:

no-beepオプション は、エラーが発生したときにmysqlコマンドラインクライアントがビープ音を鳴らさないようにします。

それが必要なオプションである場合は、[mysql] [またはmy.ini]のmy.cnfセクションにあるはずです。このエラーは、それが[client]my.cnfセクションにあることを示しており、オプションが認識されないため、[...]がエラーをスローします。

my.cnfを確認し、行を削除するか、[mysql]ではなく[client]セクションに配置してください。問題はありません。

[client]オプショングループは、すべてのクライアントプログラムによって読み取られます(mysqldでは読み取られません)。これにより、すべてのクライアントに適用されるオプションを指定できます。たとえば、[client]は、サーバーへの接続に使用するパスワードを指定するために使用するのに最適なグループです。 (ただし、他の人があなたのパスワードを見つけられないように、オプションファイルは自分だけが読み書きできることを確認してください。)オプションが[client]グループに含まれていないことを確認してください。使用する。オプションを理解しないプログラムを実行しようとすると、エラーメッセージが表示されて終了します。

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

10
naitsirch

環境変数またはmy.cnfファイルに何かありますか?

価値があるのは、設定ファイルの[client]セクションにno-beepオプション(mysqlクライアントでは有効ですが、mysqldumpでは有効ではないオプション)を指定すると、

mysqldump: unknown option '--no-beep'

naitsirch's answer で述べたように、mysqldumpなどの他のクライアントプログラムで使用しないように、[client]セクションから[mysql]セクションに移動する必要があります。 。)

7
ysth

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
user3470332

これに関連する注意点の1つとして、インストールされているさまざまな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ワークベンチは、対象とするMySQLバージョン内のmy.iniファイルから設定を取得すると想定するかもしれません。これは、ワークベンチでの管理のための構成のセットアップの一部として、そのインストールに固有のmy.iniを指す必要があるため、安全な想定です。ただし、使用するものとしてC:\Program Files\MySQL\my.iniにあるものにラッチすることがわかったため、これは正しくありません。したがって、ワークベンチを正しく機能させるには、このファイルを編集する必要があります。

0
brentil

No-beepオプションを削除するとうまくいきましたが、Windowsディレクトリのmy.iniファイルを変更する必要がありました!ちなみにWindows 10を使っています。

0
des-chain

別の解決策は、--no-defaultsオプション

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

0
Subhash