LoginSignup
1
4

More than 5 years have passed since last update.

MySQL tips - パスワードの指定

Posted at

最近知って、よく使っている方法。事前にパスワードを設定する事で、起動時に要求されないようにする(そして警告を表示しない)方法です。

最初に、必要な値をすべて変数に設定しておきます。パスワードを読み込む場合には read コマンドに -s オプションを付けましょう。

$ read db_host
(データベースサーバ名)
$ read db_user
(データベースのユーザ名)
$ read -s db_pswd
($db_userのパスワード)
$ read db_name
(データベース名)

こういうのを記述しておく設定ファイルを用意して、そこから読み出すようにしてもいいですね。
手段はともかく、変数に代入さえ出来れば、以降はこれらを参照してアクセスできます。

$ MYSQL_PWD=$db_pswd mysql -h$db_host -u$db_user $db_name

MYSQL_PWDを別に設定してもいい。

$ export MYSQL_PWD=$db_pswd
$ mysql -h$db_host -u$db_user $db_name

繰り返し起動する必要がある場合にも便利ですが、シェルスクリプトの中でも威力を発揮するでしょう。データベースが持っている値を取り出して、それを加工する場合など。
例えば、以下のようにパイプでつないでLinuxコマンドによる加工が簡単に出来ます。

MYSQL_PWD=$db_pswd mysql -h$db_host -u$db_user $db_name -sN -e"show tables;" | wc -l

やり方はいくつかあると思いますが、このようにMYSQL_PWD変数を利用するのが一番スマートと思います(mysqlコマンドがその為に用意している方法という意味で)

なお、シェルはbashです。言わずもがなですが。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4