ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

MySQLクライアントでパスワードを指定するいくつかの方法

MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.1.2.1 パスワードセキュリティーのためのエンドユーザーガイドライン

ここの通りなんだけど。

コマンドラインで指定

簡単だけど、セキュアじゃないですね。コマンドラインヒストリーに残る場合もあるし。

-pの後にスペースを入れないのがポイント

mysql -u USER -pPASSWORD

プロンプトで入力

一般的な方法ですね。

mysql -u USER -p

設定ファイルから読み取る

~/.my.cnfを作っておくとそこから設定を読み取ってくれます。パスワード情報は他のユーザから読み取られないようにパーミッションを気を付けておくと良いでしょう。 (でも平文のパスワードをファイルで保存するのは良い手ではないです。

cat > ~/.my.cnf <<...
[client]
user=USER
password=PASSWORD
...

chmod 600 .my.cnf

mysql

環境変数から読み取る

この方法はpsコマンドでパスワードが他のユーザから見られてしまう可能性があるので基本的には使ってはいけません。

MYSQL_PWD=PASSWORD mysql -u USER