我当前的配置
在线复制环境主机 (读写)-------从机器(读)平均1个月断2次左右,每次恢复很头疼,现在至少要半小时 。 (24个表级别复制)
从机器现在内存是4g , 但发现比主机慢好多。Maatkit 有人推荐可以优化主从机器复制速度,
他的
mk-slave-prefetch Pipeline relay logs on a MySQL slave to pre-warm caches.
mk-table-checksum Perform an online replication consistency check, or checksum MySQL tables efficiently on one or many servers.
mk-table-sync Synchronize MySQL tables efficiently因为是这个产品是开源的东西,担心他的不稳定为在线系统造成一定的问题??? (不知道有谁在在线系统上用过没有)

解决方案 »

  1.   

    mk-slave-prefetch 仅仅改写sql进行预读(readonly),所以就算不能提高效率,也不会对数据有影响!mk-table-checksum 检查表的速度很快,可以很容易的看出哪些表不一样(如果有不同时区的mysql,而使用了timestamp字段的话,效验会不一致哈 它使用timestamp+0,这样内容就不一样)mk-table-sync 对不太大的表同步效果不错
      

  2.   

    脚本检测自己写了存储过程另外对参数进行了优化   innodb_support_xa设置为false (避免的分布式事务的刷新)
      

  3.   

    提高硬件是王道  。  这些工具也只是辅助性,不会有实质性帮助。如果要真的提高 ,在slave端用内存数据库   (但是mysql的内村表有个致命的大缺点。 并发性很差 容易锁表 ,另外重启mysql他所有数据全部丢失------------------------不知道如何取舍。  )