Warning: Using a password on the command line interface can be insecure の対応【小ネタ】

MySQL関連の小ネタです。

Warning: Using a password on the command line interface can be insecure

mysqlコマンド、あるいはmysqldumpコマンドを実行する際にタイトルのようなメッセージが出てしまう場合の対処法です。

その前のそもそもこのメッセージの意味ですが、パスワードを直接指定したコマンドを実行することは安全ではないということです。

たしかにその通りでコマンドの実行履歴はOS上に記録されており、簡単に参照できてしまうので、意図せずサーバーに侵入された場合(そもそもこの時点で大問題ですが・・・)、データベースまで侵入されてしまい、被害が拡大してしまいます。

そのため、メッセージの通り、極力パスワードを指定しないコマンドを使うことを推奨します。

ではその方法と言いますと、以下のような接続のために必要な情報が記載されたファイルを作成し、mysqlに--defaults-extra-file=dbclient.cnfを追加して実行します。

[client]
user = xxx
password = xxxxxxxx
host = xxxxxx.com

意外とこういうちょっとしたことからセキュリティ事故が拡大する場合があるので、気を付けましょう。