MySQL5.6あたりから、mysqlコマンドにパスワードを書くと、warningメッセージが表示されるようになった。
$ mysql -uadmin -padpass Warning: Using a password on the command line interface can be insecure.
パスワードを書くとhistoryにも表示されて他の人に見られちゃうかもなので、よくないよってことですね。
対策
パスワードを記述したファイルを作成して、コマンド実行時に指定すればOK。
$ mysql --defaults-extra-file=./extra.cnf -uadmin
extra.cnfの中身はこんな感じ。
[client] password="adpass"
ファイルに対して、適切なパーミッションを付与すればパスワードが見られることがなくなる。
注意点
–defaults-extra-fileの順番が実は大事。一番最初に書かないとエラーになる。
この例は、–defaults-extra-fileの前に-uが書かれているから。
$ mysql -uadmin --defaults-extra-file=./extra.cnf mysql: unknown variable 'defaults-extra-file=./extra.cnf'
最初に書かないとアウト。
$ mysql --defaults-extra-file=./extra.cnf -uadmin