パスワードを入れてmysqlコマンドを実行すると「Warning: Using a password on the command line interface can be insecure」が表示される

スポンサードサーチ

WordPressなどではDBにMySQLを使いますが、障害発生時の復旧対応のために、DBのバックアップは取っておきたいところです。

WordPressには、Plugin(プラグイン)でバックアップを取れるものとして、BackWPupUpdraftPlusなどの有名なPlugin(プラグイン)がありますが、ページ数が膨大な場合にはこれらのPlugin(プラグイン)を使うのはサーバの負荷的にも望ましくありません。

そこで、VPSなどのcronが利用できる場合にはシェルスクリプトを書いて、定期的にバックアップを取っています。

しかし、スクリプトを設置して実行してみると、こんなWarningが出る場合があります。

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

パスワードをそのまま埋め込むのは望ましくない

これは、「警告:コマンドラインインターフェイスでパスワード使うのは安全ではない場合があります」というメッセージで、パスワードをそのままシェルスクリプトに記述するのは望ましくない、ということです。

パスワードを別ファイルに

このWarningは、パスワードを外部ファイルから読み出すようにすれば出なくなります。

そこで、MySQLのユーザー名とパスワードを保存したファイルを別に作成します。

# vi mysql-dbaccess.cnf
[client]
user = mysqlusername
password = mysqlpassword

作成したファイルのパーミッションは、他から利用できないように最小限の権限に設定。

# chmod 400 mysql-dbaccess.cnf

これで設定は完了です。

MySQLコマンドを実行してみると、Warninngが出ることなく、無事にMySQLにログインができました。

# mysql --defaults-extra-file=mysql-dbaccess.cnf
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 418644
Server version: 5.7.29 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

シェルスクリプトから呼び出すときは、以下のように記述すれば動きます。

 mysqldump --defaults-extra-file=mysql-dbaccess.cnf -h HOST_NAME DB_NAME > OUTPUT_FILE_NAME

ITを使った経営課題の解決でお困りではありませんか?

DXを始めとするITを使った経営課題の解決が上手くいっていない企業は数多くあります。

それは、単なるソリューションの導入や、社内人材への丸投げとなっており、課題解決がゴールになっていないからです。

そのためには、経営とITを理解した人材が、経営者層と共に取り組み、経営者の頭の中を可視化することが必須要件です。

現在、1時間の無料オンライン・コンサルティングを実施しております。

是非この機会にご相談ください。

構築予算が10分の1に

経営課題を解決するECサイト、越境ECサイト、BtoB ECサイト、マーケットプレイスを構築するならCS-Cartをご検討ください。

スポンサードサーチ