快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

MySQL 5.5半同步复制

请联系QQ:1793040 索取软件

背景:

阅读新闻

[日期:2014-05-25] 来源:Linux社区
作者:manfred12
[字体:大 中 小]

一、实验目的:

MySQL在主从复制还支持半同步复制,mysql复制是异步的,因为同步性能非常差。主库分发事件以后必须等待从库复制数据结束并收到从库正常响应以后,才能进行下一步操作。异步模式导致从库落后主库时,主库无从得知。因此mysql5.5后引入google补丁半同步复制,2个插件:semisync_master.so与semisync_slave.so。半同步:一主多从架构中,主库只等待一台从库复制完成数据并返回正常响应,就认为同步完成进行下一步操作,这样即有异步的高速,又有同步的安全。一旦主库等待从库响应超时,半同步复制自动降级为异步复制。半同步复制前提至少有一台从库与主库在同一机房,保证足够带宽,数据复制也足够快。因为对写性能影响极大又需要同步确认等待。

说说MySQL的半同步复制 http://www.linuxidc.com/Linux/2013-06/86627.htm

MySQL基于SSL的半同步复制 http://www.linuxidc.com/Linux/2012-12/75471.htm

MySQL主从,半同步,主主复制 http://www.linuxidc.com/Linux/2012-09/70332.htm

MySQL服务器复制的主从架构半同步的实现 http://www.linuxidc.com/Linux/2012-04/58568.htm

MySQL半同步复制(Semi-synchronous Replication) http://www.linuxidc.com/Linux/2012-03/57706.htm

MySQL5.5配置安装半同步复制 http://www.linuxidc.com/Linux/2014-02/96181.htm

二、实验步骤

1.mysql支持的模块/插件

[root@master~]# ls-t/usr/local/mysql/lib/plugin/

debug semisync_slave.so mypluglib.so qa_auth_interface.so qa_auth_client.so adt_null.so daemon_example.ini semisync_master.so libdaemon_example.so qa_auth_server.so auth_test_plugin.so auth_socket.so auth.so

2.半同步模块安装

2.1主库

mysql>INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so’;

mysql>SHOW GLOBAL VARIABLES LIKE ‘%semi%’; 服务器变量

+————————————+——-+

|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 | 没有从库也要等一下

+————————————+——-+

mysql>SET GLOBAL rpl_semi_sync_master_enabled=1;

mysql>SET GLOBAL rpl_semi_sync_master_timeout=1000;

mysql>SHOW GLOBAL STATUS LIKE ‘%semi%’;

+——————————————–+——-+

|Variable_name | Value |

+——————————————–+——-+

|Rpl_semi_sync_master_clients | 1 | 从节点1个

|Rpl_semi_sync_master_net_avg_wait_time | 0 |

|Rpl_semi_sync_master_net_wait_time | 0 |

|Rpl_semi_sync_master_net_waits | 0 |

|Rpl_semi_sync_master_no_times | 0 |

|Rpl_semi_sync_master_no_tx | 0 |

|Rpl_semi_sync_master_status | ON |

|Rpl_semi_sync_master_timefunc_failures | 0 |

|Rpl_semi_sync_master_tx_avg_wait_time | 0 |

|Rpl_semi_sync_master_tx_wait_time | 0 |

|Rpl_semi_sync_master_tx_waits | 0 |

|Rpl_semi_sync_master_wait_pos_backtraverse | 0 |

|Rpl_semi_sync_master_wait_sessions | 0 |

|Rpl_semi_sync_master_yes_tx | 0 |

+——————————————–+——-+

mysql>USE school;

mysql>CREATE TABLE tb2(name CHAR(20));

mysql>SHOW GLOBAL STATUS LIKE ‘%semi%’;

+——————————————–+——-+

|Variable_name | Value |

+——————————————–+——-+

|Rpl_semi_sync_master_clients | 1 |

|Rpl_semi_sync_master_net_avg_wait_time | 800 | 等待从服返回报告时间

|Rpl_semi_sync_master_net_wait_time | 800 |

|Rpl_semi_sync_master_net_waits | 1 |

|Rpl_semi_sync_master_no_times | 0 |

|Rpl_semi_sync_master_no_tx | 0 |

|Rpl_semi_sync_master_status | ON |

|Rpl_semi_sync_master_timefunc_failures | 0 |

|Rpl_semi_sync_master_tx_avg_wait_time | 715 | 等待从服事务返回报告时间

|Rpl_semi_sync_master_tx_wait_time | 715 |

|Rpl_semi_sync_master_tx_waits | 1 |

|Rpl_semi_sync_master_wait_pos_backtraverse | 0 |

|Rpl_semi_sync_master_wait_sessions | 0 |

|Rpl_semi_sync_master_yes_tx | 1 |

+——————————————–+——-+

mysql>INSERT INTO tb2 VALUES (‘tom’),(‘jerry’),(‘jack’);

mysql>SHOW GLOBAL STATUS LIKE ‘%semi%’;

+——————————————–+——-+

|Variable_name | Value |

+——————————————–+——-+

|Rpl_semi_sync_master_clients | 1 |

|Rpl_semi_sync_master_net_avg_wait_time | 1518 |

|Rpl_semi_sync_master_net_wait_time | 3037 |

|Rpl_semi_sync_master_net_waits | 2 |

|Rpl_semi_sync_master_no_times | 0 |

|Rpl_semi_sync_master_no_tx | 0 |

|Rpl_semi_sync_master_status | ON |

|Rpl_semi_sync_master_timefunc_failures | 0 |

|Rpl_semi_sync_master_tx_avg_wait_time | 715 |

|Rpl_semi_sync_master_tx_wait_time | 715 |

|Rpl_semi_sync_master_tx_waits | 1 |

|Rpl_semi_sync_master_wait_pos_backtraverse | 0 |

|Rpl_semi_sync_master_wait_sessions | 0 |

|Rpl_semi_sync_master_yes_tx | 2 |

+——————————————–+——-+

从库

mysql>INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so’;

mysql>SHOW GLOBAL VARIABLES LIKE ‘%semi%’;

+———————————+——-+

|Variable_name | Value |

+———————————+——-+

|rpl_semi_sync_slave_enabled |OFF |

|rpl_semi_sync_slave_trace_level | 32 |

+———————————+——-+

mysql>SET GLOBAL rpl_semi_sync_slave_enabled=1;

mysql>STOP SLAVE;

mysql>START SLAVE;

mysql>SHOW GLOBAL STATUS LIKE ‘%semi%’;

+—————————-+——-+

|Variable_name | Value |

+—————————-+——-+

|Rpl_semi_sync_slave_status | ON |

+—————————-+——-+

永久配置在Master和Slave的my.cnf中编辑:

# OnMaster

[root@master~]# vim/etc/my.cnf

[mysqld]

rpl_semi_sync_master_enabled=1

rpl_semi_sync_master_timeout=1000# 1 second

验证

mysql>SHOW GLOBAL VARIABLES LIKE ‘%semi%’;

+————————————+——-+

|Variable_name | Value |

+————————————+——-+

|rpl_semi_sync_master_enabled |ON |

|rpl_semi_sync_master_timeout |1000 |

|rpl_semi_sync_master_trace_level |32 |

|rpl_semi_sync_master_wait_no_slave | ON |

+————————————+——-+

# OnSlave

[root@slave~]# vim/etc/my.cnf

[mysqld]

rpl_semi_sync_slave_enabled=1

验证

mysql>SHOW GLOBAL VARIABLES LIKE ‘%semi%’;

+———————————+——-+

|Variable_name | Value |

+———————————+——-+

|rpl_semi_sync_slave_enabled | ON |

|rpl_semi_sync_slave_trace_level | 32 |

+———————————+——-+

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/102254.htm

linux

DB2移动数据库目录调整方法
Oracle下ORA-00119错误的解决

相关资讯
MySQL 5.5 MySQL半同步复制
  • MySQL 5.5版本搭建实例的部分库的 (07/05/2019 15:52:25)
  • MySQL半同步复制原理与配置详解 (04/17/2018 09:17:23)
  • MySQL的异步复制和半同步复制 (10/13/2017 11:46:44)
  • MySQL基于GTID主从复制之半同步复 (05/02/2018 14:16:38)
  • MySQL5.7主从复制-半同步复制搭建 (04/12/2018 19:37:42)
  • 简述MySQL半同步复制—semisync (08/15/2017 10:42:04)

本文评论
  查看全部评论 (0)

表情:表情
姓名:

字数



   
   

评论声明

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款

最新资讯
  • MySQL索引优化深入
  • MySQL锁与事务隔离级别
  • Java的CAS乐观锁原理解析
  • Ant Design v3.26.10 发布,企业级UI设计语
  • 再见Windows!另一个公司计划大规模迁移到
  • MyPaint 2.0 发布,开源绘图工具
  • Vulkan 1.2.133 发布,新扩展VK_KHR_shader
  • Q4OS 4.0 测试版发布,基于Debian ‘
  • MX Linux 19.1 发布,基于Debian的出色的
  • Wine 5.2具有更好的处理空显示驱动程序,支

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040