Docker 下 MySQL 8 自动备份

Docker 下 MySQL 8 自动备份

更新日期:2023年4月18日
先前使用时可以正常定时备份,但最近使用同样配置但无法生成备份文件,所以寻找了其他自动备份方法,可以移步到:Docker Mysql 8 自动定时备份 查看最新的操作方法。

root@debian:~# crontab -e 进入crontab,添加以下内容:

// 0 2 * * *:crontab 每天 2 点,-u<username> -p<password>:数据库的用户名及密码
0 2 * * * find /var/backup/ -mtime +5 -name "*.sql" -delete && docker exec mysql sh -c 'exec mysqldump --all-databases -u<username> -p<password> --all-databases' > /var/backup/bcksql_`date +\%F`.sql
// 查找该路径下的备份文件,删除 6 天前的备份任务,即保留 7 个版本
find /var/backup/ -mtime +5 -name "*.sql" -delete
// 将备份文件保存到该路径下并命名为“bcksql_日期.sql”(以上路径需要有对应权限,否则无法正常存储)
/var/backup/bcksql_`date +\%F`.sql

mysqldump 常用操作示例

备份全部数据库的数据和结构

mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql

备份全部数据库的结构(加 -d 参数)

mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql

备份全部数据库的数据(加 -t 参数)

mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql

备份单个数据库的数据和结构(数据库名mydb)

mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql

备份单个数据库的结构

mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql

备份单个数据库的数据

mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql

备份多个表的数据和结构(数据,结构的单独备份方法与上同)

mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql

一次备份多个数据库

mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值