だから私はWordPressバックアップガイドを設定/バックアップ計画を自分で作っています。
毎日MySQLダンプを実行したいのですが、コマンドには次のものが必要です。
-p then user input
または
--password="plain text password"
セキュリティを強化するためにMD5以降にハッシュされ保護されたファイルにそれを渡すことはできますが、コマンドにユーザー入力を必要としないようにすることはできますか?
助けてくれてありがとう!
ちなみに私が実行したい命令は次のとおりです。
mysqldump -u [username] --password=~/wp_backups/sqldumps/.sqlpwd [database name] > ~/wp_backups/sqldumps/"$(date '+%F').sql"
ベストアンサー1
次のパスワードオプションがあります。
-p
オプションでコマンドラインにパスワードを提供するMYSQL_PWD
環境変数によるパスワードの提供~/.my.cnf
セクション[mysqldump]
の下のファイルに設定を置きます。
すべての場合において、クライアントは認証にプレーンテキストパスワードを必要とします。ハッシュについて言いましたが、ハッシュの特性は一方向変換機能(つまり、ハッシュから元のパスワードを回復できない)なので、認証トークンとして使用することはできません。
WordPressをホストしているのと同じアカウントからWordPressデータベースをバックアップすることが知られているため、WordPressを実行しているユーザーにパスワードを隠してもセキュリティは向上しません(wp-config.php
とにかくデータベースの資格情報はファイルから簡単に抽出できます)。
したがって、以下を定義することをお勧めします~/.my.cnf
。
[mysqldump]
host = your_MySQL_server_name_or_IP
port = 3306
user = database_user_name
password = database_password
次に、ファイルに0600権限があることを確認してください。このアプローチmysqldump
では、コマンドラインでデータベースの資格情報を指定する必要はありません(ファイルから読み取る)~/.my.cnf
。