LoginSignup
1
0

More than 3 years have passed since last update.

Lightsail環境のMySQLのパスワードを、スクリプトに平文で記載しない方法。

Last updated at Posted at 2019-07-10

まず、スクリプトに平文で書いていたり、
コマンドラインで -p<password> の様にオプションを記載してMySQLへログインすると、
以下の様に叱られますね。

[Warning] Using a password on the command line interface can be insecure.

平文で書かずに暗号化しておく方法もありますが、今回は、
パスワード情報を他のファイルに置いて、
スクリプト上では それを参照する様に記載する方法を紹介します。

以下の記事を参考にさせていただきました。
MySQL - コマンドラインでパスワード指定した場合の警告出力を抑止!
 - 3. 方法・その2
 - 設定ファイルを使用する方法。

とりあえず、以下の要領で別ファイルを作成したんです。

[client]
user     = user_name
password = password

上記内容を下記構成ファイルへ記載。
bitnami@ip-xxx:~$ sudo vi /etc/myfeeder.cnf
bitnami@ip-xxx:~$ sudo chmod 600 /etc/myfeeder.cnf

しかし、敢え無く失敗。

bitnami@ip-xxx:~$ sudo mysql --defaults-extra-file=/etc/myfeeder.cnf feeder
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

これは、socketに関する設定が不適と理解。以下の様に対処しました。

Lightsail環境のMySQLで利用されていると思われる
/opt/bitnami/mysql/my.cnf にある内容もそのまま /etc/myfeeder.cnf へ持ってこよう。
その上で上記内容〔ユーザー名、パスワード〕を該当セクションへ追記してあげよう。
(なお、末尾の !include /opt/bitnami/mysql/bitnami/my.cnf は除きました。)

これにより、該当Warningを回避できる様になりました。

bitnami@ip-xxx:~$ sudo mysql --defaults-extra-file=/etc/myfeeder.cnf feeder
Reading table information for completion of table and column names
    :
1
0
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
0