スクリプトからのmysqlアクセス時に認証情報をファイルに書いたら「”」を使う

投稿者: | 2021年1月3日

5.7からか、mysqlはスクリプトからmysqlアクセスした時に、mysqlアクセスのためのパスワードをスクリプトに直接記載すると、以下のようなアラートが得るようになった。

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

これは、「コマンドラインにパスワードがあるのは、セキュリティ上よくない」と言う意味のようで、対策としては別ファイルに記載すればよい。

そのばあい、もともとパスワードを記載していたmysqlコマンドの行は以下のように変更する。

mysql -u user -h example.com -ppasswor#d
↓
mysql --defaults-extra-file=filepath
 ※上のfilepathでmysqlのアクセス情報を記載したファイルを指定する

ちなみに、mysqlのアクセス情報を記載したファイルは以下のようなないようにすれば良い。

[client]
user = user
password = passwor#d
host = example.com

ただ、いくらやっても接続できずエラーになった。

原因を調べたら、パスワード内に「#」という文字を入れていたが、これがコメント扱いされたのか、認識されていなかったっぽいことがわかった。

パスワードの文字列を「”」で囲むと問題なくアクセスできるようになった。
password = “passwor#d”

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)