mysqlやmysqldumpで「 [Warning] Using a password on the command line interface can be insecure.」という警告が表示される場合の対処

mysqlやmysqldumpで「 [Warning] Using a password on the command line interface can be insecure.」という警告が表示される場合の対処

Posted at April 4,2023 11:55 PM
Tag:[MySQL]

mysqlやmysqldumpで「 [Warning] Using a password on the command line interface can be insecure.」という警告が表示される場合の対処について紹介します。

1.問題点

さくらインターネットでMySQLのバックアップを取得しようと思い、下記のコマンドを実施しました。

$ mysqldump -h mysqlxxx.db.sakura.ne.jp -u hoge -phuga testdatabase > testdatabase.sql

これまでは実行できていたのですが、今回は下記の警告に遭遇しました。

mysqldump: [Warning] Using a password on the command line interface can be insecure.

警告なのでバックアップは取得できたようですが、警告を解消する方法がわかりません。

ということで、mysqldumpで「 [Warning] Using a password on the command line interface can be insecure.」という警告が表示される場合の対処について紹介します。

2.原因

原因は、パスワードを入れてmysqlコマンドやmysqldumpを実行すると、この警告が表示されるようです。

3.対処方法

ここではパスワードを別ファイルにしてコマンドラインにパスワードを入力しない方法を紹介します。

まず、下記の内容を、任意のディレクトリ・任意のファイル名で作成します。ここでは"test.conf"とします。実際には".test.conf"など、ピリオドつきのファイル名がいいと思います。

[client]
password = <パスワード>

ファイルのパーミッションを変更します(後で実施でもOK)。

$ chmod 400 test.conf

パーミッションのライト権を外しておかないと、コマンド実行時に下記のエラーが発生するケースがあるようです。

Warning: World-writable config file '/home/foo/test.conf' is ignored

ファイルを作成したら、下記のコマンドラインを実行します。これで警告が表示されなくなると思います。

$ mysqldump --defaults-extra-file=test.conf -h mysqlxxx.db.sakura.ne.jp -u hoge -phuga testdatabase > testdatabase.sql

コマンドラインの解説ですが、"--defaults-extra-file"オプションで、作成したファイルを読み込んでいます。

配置したディレクトリ以外でコマンドを実行する場合は、下記のように相対パスまたは絶対パスを指定してください。

$ mysqldump --defaults-extra-file=/home/foo/test.conf -h mysqlxxx.db.sakura.ne.jp -u hoge -phuga testdatabase > testdatabase.sql

なお、"--defaults-extra-file"オプションはコマンドの第1パラメータに必ず指定してください。

第2パラメータ以降で指定すると次のエラーになります。

mysqldump: [ERROR] unknown variable 'defaults-extra-file=test.conf'

私はこれでひっかかって随分悩みました(笑)。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)