본문 바로가기
MySql

MySQL crontab에서 비밀번호가없는 mysqldump

by 베이스 공부 2020. 12. 18.
반응형

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

 

해결 방법

 

사용자는 u 매개 변수가있는 파일이 아니라 명령에 지정되어야합니다.


 

참조 페이지 https://stackoverflow.com/questions/19904992

 

 

반응형

댓글