小生博客:http://xsboke.blog.51cto.com
-------谢谢您的参考,如有疑问,欢迎交流
一、 Mysqldump备份结合binlog日志恢复
使用mysqldump进行全库备份,并使用binlog日志备份,还原时,可以使用binlog日志恢复到备份前的任意位置或时间
1. Binlog简介

重启mysql服务使配置生效

验证binlog是否开启成功

创建测试使用的数据库和表并插入数据

为了方便实验,我们将有误操作的记录,放到一个新的binlog日志文件中

现在发现删除zhangsan是误操作,现在需要将zhangsan恢复
,去查看binlog日志文件,根据位置实现将表还原到没有删除zhangsan时,然后跳过删除zhangsan的位置,恢复tom

可以做一个分析图,用来分析出,恢复时指定的区号

下面开始模拟
首先根据需求导出部分binlog日志

模拟删除数据库

通过binlog日志恢复

验证

2. Mysqldump简介
1) 示例
导出指定数据库或单个表


导出多个数据库

导出所有

完整备份数据库并重新开启一个新binlog

导入

2)Mysqldump备份方案
周日凌晨1点全库备份;
周一到周六凌晨每隔4个小时增量备份一次;
设置crontab任务,每天执行备份脚本;
首先设置cronta任务

编辑mysqlfullbackup脚本

编辑mysqldailybackup.sh脚本内容

二、 Xtrabackup备份工具
1. Xtrabackup简介
2. 注意事项
3. Xtrabakup的优点
4. Xtrabackup安装
首先下载xtrabackup并且进行安装
Wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz


安装相关插件

安装percona-toolkit
Wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm

5. Xtrabackup+binkog
Xtrabackup+binlog可以实现时间点还原
1)首先创建备份目录

2)注意开启binlog日志

3)执行完整备份(使用xtrabackup的“流”及“压缩备份”功能)

4)查看备份

5)在生产环境中,还会备份binlog日志
可以使用—start-position和—stop-position以跳过误删除的位置,去备份binlog日志,这里不再演示
6)Xtrabackup还原
还原前需要解决数据一致性的问题

开始还原

为还原的文件设置属主属组


最后如果需要恢复到某个时间点,可以利用备份的binlog日志文件恢复
6. 在生产环境中使用的备份用户可能不是root,这时需要注意权限了
