【问题标题】:MySQL replication not syncing properlyMySQL 复制未正确同步
【发布时间】:2012-12-18 19:43:15
【问题描述】:

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

我有

innodb_flush_log_at_trx_commit = 1

sync_binlog = 1

在我的 my.cnf 文件中。

有什么想法吗?

【问题讨论】:

    标签: mysql replication


    【解决方案1】:

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

    MySQL Documntation on sync-binlog says

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

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

    我也建议使用

    [mysqld]
    innodb_flush_method=O_DIRECT
    

    我在DBA StackExchange 中写过innodb_flush_method

    【讨论】:

    • 服务器是位于 Windows Server 2008 主机上的虚拟 CentOS 服务器。所以我不确定虚拟磁盘在断电时会如何表现。
    猜你喜欢
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    相关资源
    最近更新 更多