Mysql 5.5.8(GA)半同步配置指南

  Mysql 5.5开始,加入了对半同步的支持(Semisynchronous Replication),半同步最初是由google设计的。同时Mysql将之前的主从结构逐渐取消,在5.5中,如果在slave服务器上的/etc/my.cnf中写入master-host等信息,会报未知参数的错误

  首先按照前文,安装Mysql 5.5.8并进行TCP优化。

  目前测试条件中,只使用2台服务器,其中一台作为Master:192.168.1.11,另一台作为Slave:192.168.1.12。实际生产条件下,若有多台slave一样进行配置操作。因为服务器在内网,且对多台不同的应用提供数据库服务,所以考虑简单起见,在两台服务器中分别执行以下权限代码:

(请不要在公网使用类似的设置,这将造成一定的安全问题!)

  根据mysql在线文档中的描述,使用半同步,需遵照以下3个条件:

  1. 版本5.5以上;
  2. have_dynamic_loading 属性为 Yes,可以在mysql命令行运行

    即可得知是否支持,下文其他地方参数判断可以用同样方法;
  3. 必须已设置了主从关系。

  设置主从关系步骤:

  1. Master中my.cnf需设置server-id为1,log-bin需进行设置


    Slave设置server-id为2
  2. 如果之前没有设置root,那么需要在Master上设置复制专用账户,方法同上,权限为REPLICATION;
  3. 如果数据库中有数据,需要在Master锁定表再导出,具体操作可以参看手册:
    http://dev.mysql.com/doc/refman/5.5/en/replication-howto-mysqldump.html
  4. 如果Master被锁定了,需要先Unlock;
  5. 通过Slave连接Master,方法和之前5.0/5.1类似,在Slave的mysql命令行下运行:

    其中MASTER_LOG_FILE和MASTER_LOG_POS值来自于在Master命令行下运行SHOW MASTER STATUS。

  设置半同步步骤:

  1. 在Master和Slave的mysql命令行运行如下代码:

  2. 在Master和Slave的my.cnf中编辑:

  3. 重启两台服务器即完成。

  半同步测试

  1. 在Slave的mysql命令行输入SHOW SLAVE STATUS;如果显示有master内容且数据正确即已成功;
  2. 通过在Master上新建数据库和表,在Slave上查询测试是否成功;
  3. 通过查看data目录下的二进制日志增减可以进行测试。

  通过以上的设置,简单的完成了数据库半同步,还有很多有待挖掘的部分,比如SSL支持等。作为内网Mysql均衡负载,还是有一定的可操作性。接下来的文章,将结合Mysql Proxy提出一个整体的数据库解决方案。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值