MySQL复制没有正确同步

时间:2012-12-18 19:43:15

标签: mysql replication

我有2个mysql服务器,它们之间设置了循环复制。在两台服务器上执行从属状态检查都会显示一切正常。但是,当对server1上的表进行更新时,server2不会立即同步。有时它会在几分钟后同步。有时它只会在重新启动server2上的mysqld后同步。

我有

  

innodb_flush_log_at_trx_commit = 1

  

sync_binlog = 1

在我的my.cnf文件中。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

sync-binlog可能是主要嫌疑人。

MySQL Documntation on sync-binlog says

  

值为1是最安全的选择,因为在崩溃的情况下,您最多会丢失二进制日志中的一个语句或事务。但是,它也是最慢的选择(除非磁盘具有电池备份缓存,这使得同步非常快)。

我会检查Master上的磁盘控制器电池

我还建议使用

[mysqld]
innodb_flush_method=O_DIRECT

我在DBA StackExchange

中写过innodb_flush_method