mysqldump と cronjobs を使用してデータベースをバックアップしようとしています。
さて、次のコマンドをユーザー root の crontab に追加しました。
*/30 * * * * mysqldump -u root -pVERYSECUREPASSWORD --all-databases > /var/www/cloud/dump_komplett.sql &> /dev/null
これは今のところ問題なく動作しますが、問題はこのコマンドでパスワードが設定されていることです。
したがって、次のような .database.cnf ファイルを含めたいと思います
[mysqldump]
user=root
password=VERYSECUREPASSWORD
mysqldumpコマンドを次のように変更しました
mysqldump --defaults-extra-file="/var/crons/mysql/.database.cnf" --all-databases -u root > /var/www/cloud/dump_komplett.sql
この問題を解決するために。
ただし、このコマンドは次のエラーで失敗します。
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
何が悪いのかわからない。
私も試したいくつかのコマンドを次に示します。
mysqldump --defaults-extra-file="/var/crons/mysql/.database.cnf" --all-databases > /var/www/cloud/dump_komplett.sql
mysqldump --defaults-file="/var/crons/mysql/.database.cnf" --all-databases > /var/www/cloud/dump_komplett.sql
mysqldump --defaults-file="/var/crons/mysql/.database.cnf" --all-databases -u root > /var/www/cloud/dump_komplett.sql
および .database.cnf の内容も試しました:
[client]
user=root
password=VERYSECUREPASSWORD
[mysqldump]
host=localhost
user=root
password=VERYSECUREPASSWORD
[client]
host=localhost
user=root
password=VERYSECUREPASSWORD