为了防止数据丢失,在进行软件交付时通常会要求对数据库进行定期备份。
1、测试使用mysqldump进行数据库备份。
mysqldump -h 192.168.248.138 -uroot -proot database tableName1 tableName2 > backup.sql
-h后面跟数据库地址,-u为用户名,-p为密码,后面的database输入要备份的数据库名。tableName表示要备份的表名,可以是多个,如果一个表名也没输入就表示对数据库进行整个备份。
2、测试通过后,使用linux自带的crontab进行定时备份。
首先,输入crontab -e 编辑定时器定时任务;
然后,输入定时任务信息,以下表示每天凌晨三点对数据库进行定时备份。
0 3 * * * mysqldump -h 192.168.248.138 -uroot -proot database tableName1 tableName2 > /home/databak/$(date +\%Y\%m\%d)_test.sql
最终会生成以日期命名的备份文件20230406_test.sql。
3、如果数据量过大,也可以进行压缩备份。
mysqldump -h 192.168.248.138 -uroot -proot database tableName1 tableName2 | gzip> backup.sql.gz