スポンサードサーチ

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のことで、お困りではありませんか?

ITは、コンサルティングからプロジェクトを全体を見据えて実施しなければ上手くいきません。
リソース・シェアリングは、ITのコンシェルジュとして、クライアントにとっての最適解をご提案するコンサルティングから構築・運用・解析までをワンストップで対応できるITコンサルティング会社です。
ITに関してお困りのことがあればお気軽にご相談ください。

ITプロジェクトで最適解を探すなら
御社にとって最適なWebサイト構築をするなら
失敗しないWebシステム開発をするなら
WordPressを活用したいなら
ECサイトを構築したいなら
越境ECサイトを構築したいなら
企業間取引向けECサイトを構築したいなら
マーケットプレス型ECサイトを構築したいなら
課題や事例から最適解を探すなら
リソース・シェアリングの実績
お問合せ

スポンサードサーチ