LoginSignup
14
13

More than 5 years have passed since last update.

MySQL5.6で-pオプションをつけてコマンド&スクリプトを実行する時のWarningを回避する方法

Posted at

 mysql5.6以後では、-pオプションをつけてmysql、mysqladmin、mysqldumpを実行する時、以下のWarningが表示されます。

$ /usr/bin/mysql -u root -ppassowrd -e 'SELECT * FROM information_schema.PROCESSLIST;'
Warning: Using a password on the command line interface can be insecure.
+--------+------+----------------+-----------+---------+-------+-----------+----------------------------------------------+
| ID     | USER | HOST           | DB        | COMMAND | TIME  | STATE     | INFO                                         |
+--------+------+----------------+-----------+---------+-------+-----------+----------------------------------------------+
| 122379 | root | localhost      | NULL      | Sleep   |  1462 |           | NULL                                         |
| 122393 | root | localhost      | NULL      | Query   |     0 | executing | SELECT * FROM information_schema.PROCESSLIST |
+--------+------+----------------+-----------+---------+-------+-----------+----------------------------------------------+

 実行はできるんですが、問題なのは、cronで動いている時、MAILTOが設定されると、この警告に引っかかって、メールが飛んできます。

 さらに起きた問題なのはzabbix監視です。
 例えば、zabbixでmysqlのプロセス数を監視するために、以下のスクリプトを作りました。

#!/bin/sh
PASSWORD="password"

PROCESS_COUNT=`/usr/bin/mysql -u root -p${PASSWORD} -N -e 'SELECT count(*) FROM information_schema.PROCESSLIST;'`

echo ${PROCESS_COUNT}

 zabbix上にはグラフで表示するように、データ型が数値(整数)であるアイテムを作成しました。
 image

 zabbixからスクリプトを実行する時、当前「Warning: Using a password on the command line interface can be insecure.」が出ました。
 実行結果は数字ではありませんので、zabbixのアイテムのステータスが取得不可になり、正常に監視ができません。
 image

回避方法

 環境変数MYSQL_PWDを使います。

 上記のスクリプトを以下のように修正すれば、Warningが出なくなりました。

#!/bin/sh
PASSWORD="password"

PROCESS_COUNT=`MYSQL_PWD=${PASSWORD} /usr/bin/mysql -u root -N -e 'SELECT count(*) FROM information_schema.PROCESSLIST;'`

echo ${PROCESS_COUNT}

 もちろん、zabbix監視も動いて、グラフも生成されました。
 image

参考

14
13
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
14
13