MySQL的半同步模式配置
2012-04-11 18:58
489 查看
1、什么是半同步?
在有一台主服务器、多台从服务器的情况下,主服务器只会等待一台从服务器同步数据。
2、为什么要使用半同步?
在使用同步模式时,数据的写速度太慢。
在使用异步模式时,可能会造成从服务器上的现在存储的数据有可能是主服务器几分钟甚至几天前的数据。
相比同步和异步模式,半同步模式有效的避免了以上两种情况。
3、设置半同步模式的步骤如下:
以下实验过程以172.16.9.1主机为主服务器,172.16.9.2主机为从服务器。
在Master和Slave的mysql命令行运行如下代码:
mysql5.5 版本支持半同步复制功能(Semisynchronous Replication),但还不是原生的支持,是通过plugin来支持的,并且默认是没有安装这个插件的。
不论是二进制发布的,还是自己源代码编译的,都会默认生成这个插件,一个是针对master 的一个是针对slave的。
在Master和Slave的my.cnf中编辑:
=============================================================================================================
查看从服务器上的semi_sync是否开启:
查看主服务器上的semi_sync是否开启,注意clients 变为1 ,证明主从半同步复制连接成功:
=============================================================================================================
注意:
1、 必须重新启动SLAVE IO_THREAD,从服务器上的semi_sync才会开启。
2、在MySQL的配置文件设置,是为了让设置永久有效。
3、在MySQL命令行中的设置在重新启动MySQL后就会失效。
4、Relay log默认是不会开启的,需要手动开启。
5、三个线程的区别:
Dump:全称是Binlog Dump,它是将主服务器上的二进制日志传给从服务器。
I/O thread:接收主服务器传给从服务器的二进制日志,并写入到Relay log。
SQL thread:将Relay log的数据写入mysql中。
本文出自 “蝴蝶梦” 博客,请务必保留此出处http://smile2013.blog.51cto.com/4373510/831725
在有一台主服务器、多台从服务器的情况下,主服务器只会等待一台从服务器同步数据。
2、为什么要使用半同步?
在使用同步模式时,数据的写速度太慢。
在使用异步模式时,可能会造成从服务器上的现在存储的数据有可能是主服务器几分钟甚至几天前的数据。
相比同步和异步模式,半同步模式有效的避免了以上两种情况。
3、设置半同步模式的步骤如下:
以下实验过程以172.16.9.1主机为主服务器,172.16.9.2主机为从服务器。
在Master和Slave的mysql命令行运行如下代码:
mysql5.5 版本支持半同步复制功能(Semisynchronous Replication),但还不是原生的支持,是通过plugin来支持的,并且默认是没有安装这个插件的。
不论是二进制发布的,还是自己源代码编译的,都会默认生成这个插件,一个是针对master 的一个是针对slave的。
# On Master mysql>GRANT REPLICATION CLIENT,RELICATION SLAVE ON *.* TO zll@'172.16.%.%' IDENTIFIED BY '123456'; mysql>FLUSH PRIVILEGES; mysql>SHOW GRANTS FOR zll@'172.16.%.%'; mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1; mysql> SET GLOBAL rpl_semi_sync_master_timeout = 1000; # On Slave mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1; mysql>CHANGE MASTER TO ->MASTER_HOST='172.16.9.1', ->MASTER_USER='zll', ->MASTER_PASSWORD='123456'; mysql> STOP SLAVE IO_THREAD; mysql> START SLAVE IO_THREAD;
在Master和Slave的my.cnf中编辑:
# On Master [mysqld] rpl_semi_sync_master_enabled=1 rpl_semi_sync_master_timeout=1000 # 1 second # On Slave [mysqld] server_id=11 //Server ID:用于识别身份。注意:要给每一个server一个server ID,其值可以随意设置,只要不为1就行; rpl_semi_sync_slave_enabled=1
=============================================================================================================
查看从服务器上的semi_sync是否开启:
mysql> SHOW GLOBAL STATUS LIKE 'rpl_semi%';
查看主服务器上的semi_sync是否开启,注意clients 变为1 ,证明主从半同步复制连接成功:
mysql> SHOW GLOBAL STATUS LIKE 'rpl_semi%';
=============================================================================================================
注意:
1、 必须重新启动SLAVE IO_THREAD,从服务器上的semi_sync才会开启。
2、在MySQL的配置文件设置,是为了让设置永久有效。
3、在MySQL命令行中的设置在重新启动MySQL后就会失效。
4、Relay log默认是不会开启的,需要手动开启。
5、三个线程的区别:
Dump:全称是Binlog Dump,它是将主服务器上的二进制日志传给从服务器。
I/O thread:接收主服务器传给从服务器的二进制日志,并写入到Relay log。
SQL thread:将Relay log的数据写入mysql中。
本文出自 “蝴蝶梦” 博客,请务必保留此出处http://smile2013.blog.51cto.com/4373510/831725
相关文章推荐
- MySQL主从同步配置
- MySql主主(主从)同步配置详解
- mysql主主模式无法启动日志同步进程问题处理
- mysql-5.6.x半同步复制配置
- 关于mysql配置主从同步,个人的见解与实现方法
- mysql服务器主从数据库同步配置(转)
- 推荐:Mycat配置MySQL主从模式(1主1从)下读写分离和自动切换
- Linux中Mysql配置主从同步
- MySQL主从介绍、准备工作、配置主、配置从、测试主从同步、断电后恢复主从
- 2017-07-30 DBA日记,MYSQL读书笔记第三天——MYSQL半同步复制配置步骤
- MySQL主从同步基本配置
- MySQL主从同步配置
- mysql主从和主主 模式配置
- Mysql半同步复制详细配置
- mysql主从同步配置
- mysql主从同步配置
- mysql主主同步备份配置笔记
- mysql主主同步配置说明
- centos 6设置mysql主从同步配置
- MYSQL5.6.33数据库主从(Master/Slave)同步安装与配置详解 (Master-Linux Slave-windows7)