MySQL のコマンドで “Using a password on the command line interface can be insecure.”

MySQL のバージョンを 5.6 以降にアップグレードすると、今まで使っていた MySQL コマンド (mysql, mysqldump, mysqladmin など) で次の警告 (エラー) が表示されることがあります。

mysql: [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.

私は XREA やコアサーバーで cron を使ってデータベースのバックアップを取っていましたが、先日の大規模リニューアルで MySQL が 5.1 から 5.7 にアップデートされてから、この警告が出るようになりました。

MySQL コマンドの変更

これは、次のように MySQL コマンドにパスワードオプションを使用すると安全ではない旨の警告です。そのため、この警告が出ないようにするには、パスワードオプションを使わないようにする必要があります。

$ mysqldump --user=$USER --password=$PASSWORD $DATABASE > $FILE

そこで、MySQL のパスワードを環境変数を利用して設定して、コマンドを実行するように変更すると、警告は表示されません。

$ MYSQL_PWD=$PASSWORD mysqldump --user=$USER $DATABASE > $FILE

変更することで、特に安全になったように思えませんが…

作成者: コネタねこ

上から読んでも『コネタねこ』、下から読んでも『コネタねこ』。贈り物に悩んだら、コネタねこの小ネタ帳。欲しくなっちゃうプレゼント、そんなアイデアのぞきにきてね♪

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です