lvchenotl 发表于 2016-04-01 14:06

主从数据不一致,需要重新关联

    情况是这样的:目前的库是一主两从,大部分的修改和读操作都是在主库上完成的,两个从库基本只做热备之用。前段时间由于重启主库,所以业务人员临时启用了其中一台从库做为主库,并对从库进行了写入操作。后来主库重启好后,他们又让原来的主库恢复了主库的职能,之前暂时做从的数据库就断开了与主库的主从关系。现在他们需要我把断开的从库跟主库重新关联上,并表示一切的数据都以原来的主库为准,所以可以把从库上的东西都删掉,然后导入主库的数据。

    目前有几个问题,一个是需要整个导出的库很大,光表数据大小就有61G,数据库目录的大小有100多G,其中ibdata1文件就占了85G;
    第二个是数据库里的表只有一张用的是MYISAM引擎,其他都用的是INNODB引擎,所以不能使用xtrabackup工具来导出。

    然后我想到了四种方案:
    一是使用Innobackupex+binlog日志还原从库数据;
    二是使用mysqldump+binlong日志来还原从库;
    三是直接拷贝从库上的数据然后scp到需要重新关联的从库;
    四是使用percona-toolkit工具来重构数据,使主从数据库数据一致。
   
    我是倾向于mysqldump+binlong,但是本身数据库就很大,估计光导出就要很久了。。。
    然后我又看网上说用Innobackupex导出大数据更快,但是毕竟要在正式环境上安装工具,怕对现网环境造成影响
    第三种方案需要期间停止所有从库,然后转移数据,这对空间和时间都有很大的要求,恐怕不容易满足。。。而且不知道把从库都先停止了会不会让原本没有问题的从库出现新问题
    第四种方案貌似需要在主库上进行操作,而且会重构主库上的数据,我觉得风险更大。。。所以正在纠结中,不知道该怎么办

    不知各位有何意见,或者有什么新的方案能够一起分享下呢?

stay_sun 发表于 2016-04-01 15:34

percona 的工具重新做下主从的数据恢复 多好

lvchenotl 发表于 2016-04-05 15:16

stay_sun 发表于 2016-04-01 15:34 static/image/common/back.gif
percona 的工具重新做下主从的数据恢复 多好

因为是正式环境,所以尽量能不在主库上操作的就不在主库上操作
目前领导允许把数据不一致的那个从库给直接干掉,然后我在想是不是直接整个物理拷贝正常从库上的数据文件,然后修改参数后重启。。。
页: [1]
查看完整版本: 主从数据不一致,需要重新关联