13

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
4

2 に答える 2

7

ユーザーは、パラメーターを含むファイルではなく、コマンドで指定する必要がありuます。

cronを使用したジョブのスケジューリングの詳細については、この回答mysqldumpを確認してください

于 2013-11-18T15:52:23.510 に答える
7

パスワードは引用符で囲む必要があることがわかりました

[client]
user=root
password="VERYSECUREPASSWORD"

英数字以外の記号を多く含むパスワードで機能しない理由を理解するのにしばらく時間がかかりました

于 2014-12-13T13:35:30.770 に答える