生产Mysql数据库数据恢复实战过程

时间:2022-07-25
本文章向大家介绍生产Mysql数据库数据恢复实战过程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1

实战环境介绍

线上环境

mysql数据库一主多从的架构,主写从读进行读写分离,专用从库做数据备份,每天0点全备一次,12点增量备份一次,初始阶段数据量很小的情况按此方案,后续数据量大,读写频繁时,再进行相关调整,增加增量备份频次

系统环境

[root@mysql-1 ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@mysql-1 ~]# uname -r
2.6.32-642.el6.x86_64
[root@mysql-1 ~]# mysql -v

mysql  Ver 14.14 Distrib 5.7.17, for linux-glibc2.5 (x86_64) using  EditLine wrapper

主从同步

 3306---->3307 
3307 开启binlog日志,用做备份服务器,0点全备,12点增量备份
[root@mysql-1 ~]# netstat -lntup|grep 33
tcp 0 0 :::3306  :::* LISTEN  42473/mysqld        
tcp  0 0 :::3307  :::*  LISTEN  42769/mysqld

2

模拟线上数据写入

数据库同步完成,开启3307从库的binlog日志功能

查看目前的日志文件

写入数据测试同步

注:查看日志文件修改时间发现有数据写入

此时执行全备文件

全备之后写入数据

此时出现误操作删除了一个数据

出现误操作不可能第一时间发现,因此,继续写入数据

此时发现数据库数据出现问题,某个数据无法访问了,需要进行恢复

3

恢复数据

数据恢复具体操作如下

1、停止主从同步,应用与数据库的读写操作,防止数据再次写入

2、刷新binlog,生成新的日志文件

3、恢复全备文件到主库

4、合并binlog文件生成sql,删除误操作语句

5、进行增量恢复

此时主库数据恢复成功

4

测试主从同步

重新开启同步来测试数据是否同步

至此,整个数据恢复过程结束,通过binlog日志增量文件恢复数据成功