mysqldump+二进制文件做增量备份
1.mysqldump全库备份到/tmp/alldb.sql
mysqldump --all-databases --master-data=2 --flush-logs --single-transaction >/tmp/alldb.sql -uroot -p
在alldb.sql中查看备份时当前二进制文件的文件名mybinlog.000003和当前位置154
2.修改数据库中的表数据,新增第5,6条数据
3.备份二进制文件
方式一:备份改过后的数据
备份mysqldump以后的内容
//查看
mysqlbinlog mybinlog.000003 |less
//备份
mysqlbinlog --start-position=154 mybinlog.000003 >/tmp/binlog.sql
方式二:直接拷贝物理文件
cp mybinlog.000003 /tmp
4.制造失误,删除数据库
drop database dome
5.mysqldump进行恢复全备份
mysqldump进行恢复全备份
mysql </tmp/alldb.sql -uroot -p
6.增量备份恢复
如果3中使用方式一备份改过后的数据:
进入数据库客户端,使用二进制文件生成的sql文件进行增量备份恢复
source /tmp/binlog.sql
如果3中使用方式二直接拷贝物理文件:
查看日志
mysqlbinlog mybinlog.000003 |less
恢复数据,可以选择性的执行,如果指定位置后的sql全部执行--stop-position可以不设置
mysqlbinlog --start-position=154 --stop-position=600 /tmp/mybinlog.000003 | mysql -uroot -p密码