/ / Myqldump без парола в crontab - mysql, cron, backup, mysqldump, crontab

Без парола в crontab - mysql, cron, архивиране, mysqldump, crontab

Опитвам се да архивирам базата данни с mysqldump и cronjobs.

Е, аз добавих следната команда към 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

Отговори:

5 за отговор № 1

Потребителят трябва да бъде посочен в командата, а не във файла с u параметър.

За повече подробности относно графика cron работните места mysqldump, проверете този отговор


2 за отговор № 2

Разбрах, че паролата трябва да е между цитати

[client]
user=root
password="VERYSECUREPASSWORD"

Отне ми известно време, за да разбера защо не работи с пароли с много не-буквени символи