定时备份mysql数据库
原创
©著作权归作者所有:来自51CTO博客作者wx58c2b58cac641的原创作品,请联系作者获取转载授权,否则将追究法律责任
定时备份mysql数据库
源码
https://gitee.com/pingfanrenbiji/docker-mysql-auto-backup
代码流程简介
将代码打包成docker镜像
docker build -t docker-mysql-auto-backup:v1.0.0 .
docker tag docker-mysql-auto-backup:v1.0.0 registry.cn-shanghai.aliyuncs.com/mengfanxiao/docker-mysql-auto-backup:v1.0.0
docker push registry.cn-shanghai.aliyuncs.com/mengfanxiao/docker-mysql-auto-backup:v1.0.0
启动docker
docker pull registry.cn-shanghai.aliyuncs.com/mengfanxiao/docker-mysql-auto-backup:v1.0.0
docker run -it -d -v /mysql_backups/:/mysql_backups/:rw -e MYSQL_DB_HOST=IP -e MYSQL_DB_USER=root -e MYSQL_DB_PWD=123456 -e MYSQL_DB_NAME=ry-vue -e MYSQL_DB_PORT=PORT registry.cn-shanghai.aliyuncs.com/mengfanxiao/docker-mysql-auto-backup:v1.0.0
原理简介
使用的mysql的导出工具 mysqldump
mysqldump -uroot -p --all-databases > sqlfile.sql;
mysqldump -h IP -P3306 -uroot -p --all-databases > sqlfile.sql;
mysqldump -h IP -P3306 -uroot -p jeecg-boot > jeecg-boot.sql;
遇到的问题
如果导出命令和数据库服务不在同一个网络中
比如 不同的服务器之间或者同一台服务器中不再同一个docker中
那么需要在mysql server中配置下允许所有的网络访问且允许所有的网络使用mysql_native_password加密方式才可以
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
否则的话 就会报
mysqldump: Got error: 2059: "Authentication plugin 'caching_sha2_password' cannot be loaded