MySQL定时备份
2016年9月26日
14:18
最重要的要点
注意事项:
1.测试脚本是否正常执行
2.备份文件放在可用容量大的磁盘(df)
3.mysqldump不要使用软链接,直接使用全路径
1.编写备份脚本backup.sh
脚本1:
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uroot -p123mhub >
/home/zs/software/mysqlbackup/mhub_$(date+%Y%m%d).sql
脚本2:
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uroot -p123mhub | gzip >
/home/zs/software/mysqlbackup/mhub_$(date+%Y%m%d).sql.gz
2.加权限
chmod 777 backup.sh | #给脚本添加权限 |
3.测试脚本能否备份
能备份再往下一步
4.编辑crontab
crontab -e | #编辑定期调度 |
*/1 * * * * /home/zs/software/mysqlbackup/backup.sh | #每分钟调用一次脚本 |
crontab -l | #查看是否编辑成功 |
5.观察日志看能够执行并生成备份sql
tail -f /var/log/cron | #查看脚本执行情况 |
6.还原数据库
脚本1: source sql文件存放路径 | #还原数据库 |
脚本2: gzip -d sql文件.gz source sql文件存放路径 |
#解压成sql #还原数据库 |
问题
1:直接使用执行脚本可以备份,使用crontab备份只有0KB,没有数据
原因:使用mysqldump命令时没有指定全路径
解决:使用mysqldump的全路径,而不要使用软链接
参考
http://www.2cto.com/database/201502/376262.html