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
変更することで、特に安全になったように思えませんが…