mysqldumpでワーニングが出る

mysqldumpでデータベースのバックアップを行ったところワーニングが出た。
ちなみに、使用したのはさくらのレンタルサーバ。

mysqldump –default-character-set=utf8 –no-tablespaces -u {DBユーザ名} -p{DBパスワード} {DB名} -h {DBホスト名} | gzip -c > dump.sql.gz

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

Google翻訳によると日本語訳は、

mysqldump: [警告] コマンド ライン インターフェイスでのパスワードの使用は安全でない可能性があります。


言いたいことはわかりますね。パスワードを生で(見える状態で)打つのは危険とのこと。

ひとつは、-p にコマンドラインではパスワードを与えず、
mysqldump --default-character-set=utf8 --no-tablespaces -u {DBユーザ名} -p {DB名} -h {DBホスト名} | gzip -c > dump.sql.gz

Enter password: のプロンプトが出たらパスワードを打つこと。


もうひとつは、パスワードを含むDB接続情報を外部ファイルにしておくこと。

参考ページ)
https://beyondjapan.com/blog/2016/08/mysql56-warning/

mysql.cnfなどのファイル名で下記の内容を記載する。

[client]
user = hoge
password = hogehoge
host = 192.168.1.1

コマンドラインでは、--defaults-extra-file を使う。

mysqldump --defaults-extra-file=mysql.cnf '--default-character-set=utf8' --no-tablespaces {DB名}

こんな感じ。