mysqlでパスワード込みのコマンドを実行させる方法

MySQLの比較的新しいバージョンになると例の-p12345(パスワード12345)を使うとWarningが出てしまいます。セキュリティー的によくないといえばよくないです。

mysql -u user -p12345
Warning: Using a password on the command line interface can be insecure.

仕様が変わったということになるかと思います。これから先正しくは、userとpasswordの設定ファイルを個別に作ってあげて–defaults-extra-fileオプションで読み込んで実行するというかたちになります。

confファイルの作成と実行

ファイル名は任意のものでよいです。仮にmysql.confとします。

[client]
user = user
password = 12345

ユーザーとパスワードを定義したファイルを実行時に–defaults-extra-fileオプションで読み込んであげます。mysql.confがカレントにある場合は以下のようなコマンドになります。

mysql --defaults-extra-file=./mysql.conf

これでログインできます。
ホスト名やその他のコマンドもユーザーとパスワード部分を–defaults-extra-fileに置き換えるだけで基本そのままで実行できます。

mysql --defaults-extra-file=./mysql.conf -h remotehostname

しかし若干面倒にはなりました。

Last update: 2016.12.26 (月)