绿色资源网:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|论坛转帖|厂商大全

绿色资源网

技术教程
您的位置:首页数据库类MySQL → MySQL5.5半同步功能的安装步骤

MySQL5.5半同步功能的安装步骤

我要评论 2012/08/28 13:44:59 来源:绿色资源网 编辑:downcc.com [ ] 评论:0 点击:489次

在保证数据库性能的前提下,怎么保证数据的一致性呢?

在MySQL 5.5版本中即支持异步复制又支持半同步复制。

1、当slave 连接master的时候,它会指出它是否支持半同步复制。

2、当master启用 semisynchronous replication.并且至少有一台slave也启用了该功能,master端的事务会被阻塞,并且等到该事务会等待其中任何一个slave接受到该事务,或者超过等待时间才会提交。

3、slave端回复给master的信息依据是slave事务已经写入到relay-log并且已经刷写到了磁盘。

4、如果master端等待超时的话,没有任何slave给出该事务已经写入relay-log的信息,那么他会自动转到异步复制,当其中一个支持异步复制的slave追赶上了master,那么master会进入到半同步复制状态。

5、半同步复制必须是两端都支持。

当master的线程处于被阻塞(等待slave端返回的消息时),并不会给该会话session返回任何消息。当阻塞结束的时候,master会返回给该session消息。

如果一个事务中包含对非事务表的修改,在发生rollback的情况下,master也是会这些信息写入到binlog上面,并且也会发生阻塞,等待slave端写入。
 

半同步复制需要在数据一致性和性能上作出权衡。

5.5半同步功能的安装步骤

  1、这个首先需要5.5支持动态加载模块:查看变量: have_dynamic_loading是否是yes;

  2、基本的复制架构已经搭建

  3、master端和slave端的模块是随着版本发布的,在master端执行:

  INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

在slave端执行:

    INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

如果在安装的时候出现如下错误,请下载缺失的组件:http://dev.mysql.com/downloads/os-linux.html.

  ERROR 1126 (HY000): Can't open shared library
'/usr/local/mysql/lib/plugin/semisync_master.so' (errno: 22 libimf.so: cannot open
shared object file: No such file or directory)
 

安装完成后,还需要设置变量才能正常启动:

   SET GLOBAL rpl_semi_sync_master_enabled =1;

  SET GLOBAL rpl_semi_sync_master_timeout =N 设置好超时时间,默认是10s (有点长啦)

    在slave 端执行:

    SET GLOBAL rpl_semi_sync_slave_enabled =1

  (以上信息都可以写到my.cnf文件中)

  这个时候复制还是属于异步复制,只有重启slave或者 重启 slave I/O线程,才能真正使用半同步复制功能。

  stop slave io_thread;start slave io_thread;

           监控半同步复制状态;

          几个重要的变量是:

    rpl_semi_sync_master_clients  支持和已经注册半同步复制的已连接的slave数量。

    rpl_semi_sync_master_status  Master的半同步复制状态,1是活动状态,0表示非活动,要么是没有启用该功能,要么以切换至异步复制状态

   rpl_semi_sync_slave_status Slave 上的半同步复制状态,1,表示已经启用而且I/O线程正在运行,0表示非活动状态。

关键词:MySQL

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视