MySQL增量备份
1.创建一个文件夹用于存放mysql备份文件
例如:mkdir mysqldata
2.在创建脚本文件,用于备份数据库
例:sudo vi /usr/sbin/bakmysql
文件内容为:
rq=`date "+%Y%m%d"`
mysqldump -uroot -pepimap.123456 epimap --single-transaction --flush-logs --master-data=2> /mysqldata/epimap$rq.sql
备份文件以epimap+当前日期命名
3.修改my.cnf中开启日志文件
log_bin = mysql-bin
expire_logs_days = 10(日志保留十天)
binlog_do_db = epimap(数据库名)
4.增加定时备份
Sudo vi /etc/crontab
添加定时执行脚本:
06 13 * * 6 root /usr/sbin/bakmysql
每周六 13:06执行/usr/sbin/bakmysql文件
5.备份执行完毕后,查看备份文件会有:
这两个值时在恢复日志文件中会使用的
可以再/var/lib/mysql查看日志文件
6.当数据一不小心清空时就可以按照完全备份文件和日志文件进行恢复
恢复完全备份文件:
mysql -uroot -pepimap.123456 epimap </mysqldata/epimap20140626.sql
再恢复日志文件:
mysqlbinlog --no-defaults mysql-bin.000085 --start-position=107 --stop-datetime='2014-06-26 12:00:00' |mysql -uroot -pepimap.123456; (恢复到数据清空前时间)