😸

MySQLにコマンドライン(CLI)でパスワードを入力する方法

2021/11/30に公開

概要

MySQL のオプションコマンドには以下のようなものがあります。

-u
ユーザ名指定

-p
パスワード指定

-D
データベース名指定

-h
ホスト名の値を指定

-e
コマンドラインから直接 sql を実行

DB サーバーのヘルスチェックのために以下のコマンドを使おうと考えました。
CLI でパスワードを直書きするのは問題がありますが、開発環境なのと、環境変数のためセーフと想定しています。
もちろん、本番 DB を対象に使うときには NG。

しかし、以下のようにパスワードが求められてしまいます。。。

$ mysql -u root --port 3306 -h 127.0.0.1 -D phpunit_intro -p password -e 'SHOW tables;'
Enter password:

解決策

CLI で mysql のコマンドを入力するときには、スペースが不要でした。

mysql: [Warning] Using a password on the command line interface can be insecure.のように、CLI でパスワードを入力すると安全じゃないよって教えてくれます。

$ mysql -u root --port 3306 -h 127.0.0.1 -D phpunit_intro -ppassword -e 'SHOW tables;'
mysql: [Warning] Using a password on the command line interface can be insecure.

参考

https://qiita.com/yulily@github/items/54cb6ccaacf39977455c

Discussion

ログインするとコメントできます