我管理一个托管超过 100 个数据库的 MySQL 服务器。
我们已经设置了标准的主从复制,但 SQL 线程往往会时常中断,需要手动干预才能重新启动。在此期间,服务器不同步。
我知道有一个选项可以指定哪些数据库被复制/不被复制。
是否可以设置复制线程的多个实例(理想情况下每个数据库一个),这样如果一个线程上的复制中断(并停止),它不会停止其余所有线程上的复制?
答案1
这是不可能的,但请阅读行复制格式。
另一种解决方案可能是同一台机器上的 mysql 服务器的多个实例,每个实例都有自己的复制线程(但我从未尝试过这种解决方案)。
答案2
复制线程是单线程的,因此语句不会乱序。
Continuent 公司正在尝试利用他们的 Tungsten Replicator 改进异步复制:http://www.continuent.com/community/tungsten-replicator
我还没有尝试过,但你可能想看看。在最近的一个演示中,他们提到了“并行复制”
干杯
答案3
如果“SQL 线程经常中断”,那么最好修复问题的根源。您遇到的错误有详细信息吗?
如果问题的根源无法修复,或者应用程序可以容忍问题的其他副作用,则可以通过以下方式配置要忽略的错误类型从属跳过错误。请谨慎行事。:)