MySQLコマンドを実行する時にパスワードを書かない

mysqlコマンドを実行する際に、パスワードを書くと以下のwarningメッセージが表示されます。

$ mysql -uroot -ppassword
Warning: Using a password on the command line interface can be insecure.

これがいちいち表示されるのは邪魔になるので、パスワードを書かずにmysqlコマンドを実行する方法を紹介します。

対策

パスワードを記述したファイルを作成して、コマンド実行時に指定します。

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

mysql.conf

[client]
password="password"

ちなみに、mysql.confでは、userやhostも指定できます。

[client]
user="root"
password="password"
host="localhost"

注意点

–defaults-extra-fileは順番が大事で、一番最初に書かないとエラーになります。

$ mysql -uroot --defaults-extra-file=./mysql.conf
mysql: unknown variable 'defaults-extra-file=./mysql.conf'