我们创建了两个运行5.5的新mysql服务器。我们的旧服务器是5.0。
这两个服务器是用主-主复制设置的--这是两个5.0服务器的情况,没有任何问题。
我们有一些长时间运行的select查询(40-50秒),当它们运行复制中断时,我们必须跳过几条记录才能重新启动复制。这是一致的和可重复的。我怀疑有些表正在每台服务器上得到更新,但是复制被暂停,试图更新一个锁定的表--当它完成时,每个服务器都试图向另一个服务器发送数据,并且复制被中断。
在运行这个长查询时,我看到select语句上有很多“等待表级锁”。
是否有我错过的设置来防止selects锁定表?还有别的原因,或者有什么办法可以解决这个问题吗?
发布于 2014-06-26 20:48:36
因为所有的数据都是MyISAM,所以您应该经常期待表锁,因为INSERT、UPDATE和DELETE命令会发出一个完整的表锁。
如果有大量使用自动递增键的表,则应添加以下内容
Server1
[mysqld]
auto_increment_increment = 5
auto_increment_offset = 1Server2
[mysqld]
auto_increment_increment = 5
auto_increment_offset = 2这将防止主键与自动增量列发生冲突。
我在我的任务是Mysql主-主复制?上有其他建议
https://dba.stackexchange.com/questions/69152
复制相似问题