设为首页 加入收藏

TOP

MySQL主主以及主从复制、半同步复制(四)
2014-11-24 03:18:37 来源: 作者: 【 】 浏览:4
Tags:MySQL 以及 主从 复制 同步

mysql> create table test1(id int(4),name varchar(20));
mysql> show tables;
+――――― +
| Tables_in_test1 |
+――――― +
| name |
| test1 |
| user |
+――――― +
3 rows in set (0.00 sec)
// 在B服务器上查询
192.168.20.102
mysql> use test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+――――― +
| Tables_in_test1 |
+――――― +
| name |
| test1 |
| user |
+――――― +
3 rows in set (0.00 sec)
// 在B服务器上建立一个表
192.168.20.102
mysql> create table test2(id int(4),name varchar(20));
mysql> show tables;
+――――― +
| Tables_in_test1 |
+――――― +
| name |
| test1 |
| test2 |
| user |
+――――― +
4 rows in set (0.00 sec)| user |
+――――― +
3 rows in set (0.00 sec)
// 在A服务器上查询
192.168.20.101
mysql> show tables;
+――――― +
| Tables_in_test1 |
| name |
| test1 |
| test2 |
| user |
+――――― +
4 rows in set (0.00 sec)
双向复制试验成功!!!

mysql5.5.9半同步复制功能部署

1.mysql5.5.9 半同步复制功能:


mysql5.5 版本支持半同步复制功能(Semisynchronous Replication),但

还不是原生的支持,是通过plugin来支持的,并且默认是没有安装这个插件的。

不论是二进制发布的,还是自己源代码编译的,都会默认生成这个插件,
一个是针对master 的一个是针对slave的,在使用之前需要先安装这俩plugins


首先先检查 mysql是否支持动态添加插件,

mysql.sock@mysql> select @@have_dynamic_loading ;
+------------------------+
| @@have_dynamic_loading |
+------------------------+
| YES |
+------------------------+
1 row in set (0.00 sec)

支持动态增减插件,

添加插件:


mysql.sock@(none)> install plugin rpl_semi_sync_master soname

semisync_master.so ;
Query OK, 0 rows affected (0.00 sec)


mysql.sock@(none)> install plugin rpl_semi_sync_slave soname

semisync_slave.so;
Query OK, 0 rows affected (0.00 sec)


添加完插件后,系统会默认的增加了几个系统参数
mysql.sock@(none)> show global variables like rpl_semi_sync%;
+------------------------------------+-------+
| Variable_name | Value |
+------------------------------------+-------+
| rpl_semi_sync_master_enabled | OFF |
| rpl_semi_sync_master_timeout | 10000 |
| rpl_semi_sync_master_trace_level | 32 |
| rpl_semi_sync_master_wait_no_slave | ON |
| rpl_semi_sync_slave_enabled | OFF |
| rpl_semi_sync_slave_trace_level | 32 |
+------------------------------------+-------+
6 rows in set (0.00 sec)

这些参数是可以动态修改的

rpl_semi_sync_master_enabled :
启动master 支持半同步复制。

rpl_semi_sync_master_timeout :
主库等待半同步复制信息返回的超时间隔,默认10秒

rpl_semi_sync_master_trace_level :
监控等级:
1 = general level (for example, time function failures)

16 = detail level (more verbose information)

32 = net wait level (more information about network waits)

64 = function level (information about function entry and exit)


rpl_semi_sync_master_wait_no_slave :

是否允许master 每个事物提交后都要等待slave 的receipt信号。
默认为on ,每一个事务都会等待,如果slave当掉后,当slave追赶上master的日志时

,可以自动的切换为半同步方式,如果为off,则slave追赶上后,也不会彩玉半同步的

方式复制了,需要手工发动。

rpl_semi_sync_slave_enabled :
启动slave 支持半同步复制。

rpl_semi_sync_slave_trace_level :
监控等级,同 上面的rpl_semi_sync_master_trace_leve。


相应的系统的状态变量:

mysql.sock@mysql> show global status like rpl_semi_sync%;
+--------------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients | 1 |
| Rpl_semi_sync_master_net_avg_wait_time | 902 |
| Rpl_semi_sync_master_net_wait_time | 902 |
| Rpl_semi_sync_master_net_waits

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql主从配置 下一篇MySQL中两种索引Hash与B-Tree的区..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)