mysqlにパスワードを手入力せずに渡す方法

メモ。

環境

  • MariaDB 11.4.2

MySQLでも一緒。

背景

次のような状態を回避しつつ、楽をしたい。

  • mysqlコマンドやmysqldumpコマンド使用時に、毎回パスワードを手入力するのはしんどい。
  • かといって、簡単に入力できるようなパスワードにするのも困る。
  • mysqlmysqldumpの引数で渡すと、psコマンドでパスワードがバレバレ。

回避策

my.cnfを使用する

~/.my.cnfを作成し、次のようにユーザー名とパスワードを記述する。

[client]
user=root
password=Password

~/.my.cnfは次のように他人に見られないようパーミッションを変更しておく。

これでユーザーIDとパスワードなしでクライアントを起動できる。

環境変数$MYSQL_PWDを使用する

環境変数$MYSQL_PWDで渡す。

# MYSQL_PWD=Password mysql -u root

これでパスワードを聞かれない。psで表示されるコマンド上にも、パスワードは表示されない。

タイトルとURLをコピーしました