美文网首页mysqlMySQL数据库sql
MySql主从半同步服务模式

MySql主从半同步服务模式

作者: 技术老男孩 | 来源:发表于2023-02-23 07:58 被阅读0次

一、半同步服务模式概念:

  • 主从同步复制模式,可以在任意数据库服务器启用半同步服务模式
  • 主服务器启动半同步,从服务器必须也要启动半同步
  • 操作实现分为:临时配置(配置完成即生效,重启服务失效)、永久配置

二、复制模式:

  • 异步复制模式(默认):主服务器执行完一次事务后,立即将结果返给客户端,不关心从服务器是否已经同步数据。
  • 半同步复制模式:主服务器在执行完一次事务后,等待至少一台从服务器同步数据完成,才将结果返回给客户端。

三、临时配置流程:

  • 安装模块
# 做为主服务器安装master模块
MySQL> install plugin  rpl_semi_sync_master   SONAME  "semisync_master.so";
                                
# 做为从服务器slave模块
MySQL> install plugin  rpl_semi_sync_slave   SONAME  "semisync_slave.so";   
  • 查看模块是否安装
mysql> SELECT plugin_name, plugin_status FROM  information_schema.plugins  
WHERE plugin_name LIKE "%semi%"; 
+----------------------+---------------+
| plugin_name          | plugin_status |
+----------------------+---------------+
| rpl_semi_sync_master | ACTIVE        |
| rpl_semi_sync_slave  | ACTIVE        |
+----------------------+---------------+
  • 启用模块
# 做为主服务器启用master模块
mysql> SET  GLOBAL rpl_semi_sync_master_enabled=1;
                                
# 做为从服务器启用slave模块
mysql> SET  GLOBAL rpl_semi_sync_slave_enabled=1;   
  • 查看模块是否启用
MySQL> SHOW  VARIABLES  LIKE  "rpl_semi_sync_%_enabled";                    
+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| rpl_semi_sync_master_enabled | ON    |
| rpl_semi_sync_slave_enabled  | ON    |
+------------------------------+-------+

四、永久配置流程:

  • 修改配置
[root@host ~]# vim /etc/my.cnf
[mysqld]
# 只安装主服务模块          
plugin-load="rpl_semi_sync_master=semisync_master.so"
# 只安装从服务模块
plugin-load="rpl_semi_sync_slave=semisync_slave.so"
# 同时安装主和从服务模块
plugin-load="rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"

# 启用主服务模块
rpl_semi_sync_master_enabled=1
# 启用从服务模块
rpl_semi_sync_slave_enabled=1

:wq
  • 重启服务 模块依然是启用状态
[root@host ~]# systemctl restart mysqld
# 进入sql环境查询开启状态                     
MySQL> SHOW  VARIABLES  LIKE  "rpl_semi_sync_%_enabled";                        
+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| rpl_semi_sync_master_enabled | ON    |
| rpl_semi_sync_slave_enabled  | ON    |

相关文章

网友评论

    本文标题:MySql主从半同步服务模式

    本文链接:https://www.haomeiwen.com/subject/qteihdtx.html