首页 > 数据库 > Mysql不同步主库删除的数据
2016
03-14

Mysql不同步主库删除的数据

操作要求:

Mysql中某个库每天产生的数据较大,因为磁盘空间,需要把这个库里面数据清空,并且业务需要对里面的数据做查询。首先想到的是数据库主从,把主库的数据同步到从库,并且主库清空,从库里面数据保留用以查询。用主从只需要同步的时候把delete table 和 truncate table或drop database 命令去掉,不同步删除的数据,只是没有查到相应的软件,所以有下面的操作

操作思路:

利用数据库的主从同步,在主数据库执行清除命令,不同步到从数据库

以下主数据库为A(192.168.1.80),从数据库为B(192.168.1.81)。A里面的gamelog数据库每天清理一次(gamelog数据库,里面一个表 goldenLog),并且在B数据库保留所有的gamelog库信息。假设在晚上23:52  A执行清除mysql数据命令

实现方法:

1,  系统centos 6.4 64位

2,  配置mysql 5.5.37 主从同步,过程略过

3,  23:50 A中刷新日志 为的是接下来进行处理的日志较小,更方便的修改,导入到从服务器

4,  23:51  B中停止同步,并且记录position

5,  23:52  A中保留表结构,清除表中的内容

清理数据后执行刷新log,从服务器同步就从刷新后日志position的107开始向主请求同步

6,  A中把二进制日志导出为sql命令并发送给从

下面是清空数据库里面表内容的命令,需要把这一条语句给删除,然后发送给从服务器

把修改的sql传到B  这里需要配置双机互信,具体过程略过

7,  B中 mysql 导入数据 000023.sql 此时导入的数据没有清空表内容的命令,所以内容就不会被删除

8,  B 开始向A请求同步  mysql-bin日志为(上面第五条5,)A执行刷新log后的bin log

9,     B中 开始恢复主从同步

查看B中状态

改写脚本:

A中脚本:

B中脚本:

 

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。