首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不转储主程序的情况下重建MySQL复制?

如何在不转储主程序的情况下重建MySQL复制?
EN

Server Fault用户
提问于 2012-05-25 14:41:38
回答 4查看 8.6K关注 0票数 6

我们的MySQL数据库已经变得相当大,我正在运行主复制。复制中断。我试图重建第二个主人,而不是冻结第一个主人做一个mysqldump。数据库足够大,转储需要几个小时,而且我不能让数据库离线这么长时间。

如何在不转储主程序的情况下重建MySQL复制?

EN

回答 4

Server Fault用户

发布于 2012-05-25 14:47:00

看一看Percona工具包pt-table-checksum可以帮助您找出不同步的表,然后可以使用pt-table-sync

票数 5
EN

Server Fault用户

发布于 2012-05-25 15:17:54

添加到@quanta的答案中,如果您无法尝试比较和修复复制,则可以使用percona xtra-备份工具附带的innobackupex工具快速复制您的主服务器,然后将其还原到从服务器。(运行需要一段时间,但锁定表的时间要比mysqldump短得多)

从根本上说,innobackupex可以同时使用innodb和myisam表,并利用底层实现来大幅度提高导出时间,从而在最短的锁定时间内产生一致的备份。

有一个从站点上的主站创建从属程序的演练示例;http://www.percona.com/doc/percona-xtrabackup/howtos/setting_向上_replication.html

票数 3
EN

Server Fault用户

发布于 2012-05-25 16:38:15

汤姆·H的建议也很好。如果你能让Xtra重新开始工作,那就太好了。我不知道在这种情况下什么是最好的,它将有助于了解:

MySQL全InnoDB的版本?全是MyISAM?还是混合?如果是InnoDB,那么每个表都使用文件吗?多大是大?(50 GB对500 GB?)

如果由于某种原因无法让Xtrabackup工作,或者@quanta的建议与pt工具一起使用,那么您可能不得不老生常谈,停止mysql并将数据dir复制到从服务器,相应地进行调整并开始重新启动。如果您处理的是GB的100's,并且您需要通过网络进行复制,并且您有多核/CPU的http://zlib.net/pigz/,那么您可能需要考虑使用pigz作为您的副本--这帮助我们将复制转储文件或目录所用的时间缩短到2小时。

祝你好运我知道这会带来多大的压力。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/392691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档