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.」という警告が表示される場合の対処について紹介します。
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'
私はこれでひっかかって随分悩みました(笑)。
- MySQLのrootログインで「Access denied for user 'root'@'localhost' (using password: YES)」に遭遇した場合の対処
- bashでMySQLのselect結果を出力する方法
- MySQL(phpMyAdmin)でエラー#1089になる場合の対処
- MySQLで「The used SELECT statements have a different number of columns」となる場合の対処
- mysqldumpで「Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces」となる場合の対処
- SSHポートフォワーディングでMySQLに接続する方法
- Windows向けMySQL管理クライアント「HeidiSQL」
- WindowsにMySQL(zip版)をインストールする
- MySQLのmax_user_connectionsについて
- phpMyAdminでインポートできない大きなファイルを一気にインポートできる「BigDump」
- phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する方法