メモ。
環境
- MariaDB 11.4.2
MySQLでも一緒。
背景
次のような状態を回避しつつ、楽をしたい。
mysql
コマンドやmysqldump
コマンド使用時に、毎回パスワードを手入力するのはしんどい。- かといって、簡単に入力できるようなパスワードにするのも困る。
mysql
やmysqldump
の引数で渡すと、ps
コマンドでパスワードがバレバレ。
回避策
my.cnfを使用する
~/.my.cnf
を作成し、次のようにユーザー名とパスワードを記述する。
[client]
user=root
password=Password
~/.my.cnf
は次のように他人に見られないようパーミッションを変更しておく。
これでユーザーIDとパスワードなしでクライアントを起動できる。
環境変数$MYSQL_PWDを使用する
環境変数$MYSQL_PWDで渡す。
# MYSQL_PWD=Password mysql -u root
これでパスワードを聞かれない。ps
で表示されるコマンド上にも、パスワードは表示されない。