MySQL半同步复制配置和参数详解

目录

[1 成功配置主从复制](#1 成功配置主从复制)

[2 加载插件](#2 加载插件)

[3 半同步复制监控](#3 半同步复制监控)

[4 半同步复制参数](#4 半同步复制参数)


1 成功配置主从复制

操作步骤参考:https://blog.csdn.net/zyb378747350/article/details/148309545

2 加载插件

#主库上

MySQL 8.0.26 之前版本:

mysql>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

MySQL 8.0.26 之后版本:

mysql>INSTALL PLUGIN rpl_semi_sync_source SONAME 'semisync_source.so';

mysql> SHOW STATUS LIKE 'Rpl_semi_sync_source_status';

+-----------------------------+-------+

| Variable_name | Value |

+-----------------------------+-------+

| Rpl_semi_sync_source_status | ON |

+-----------------------------+-------+

1 row in set (0.00 sec)

MySQL 8.0.26 之前版本:

mysql>SET GLOBAL rpl_semi_sync_master_enabled = 1;

MySQL 8.0.26 之后版本:

mysql>SET GLOBAL rpl_semi_sync_source_enabled = 1;

vi /etc/my.cnf

mysqld

rpl_semi_sync_master_enabled=1

MySQL 8.0.26 之后版本:

rpl_semi_sync_source_enabled=1

#从库上

MySQL 8.0.26 之前版本:

mysql>INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

MySQL 8.0.26 之后版本:

mysql>INSTALL PLUGIN rpl_semi_sync_replica SONAME 'semisync_replica.so';

mysql> show variables like 'rpl_semi_sync%';

+-----------------------------------+-------+

| Variable_name | Value |

+-----------------------------------+-------+

| rpl_semi_sync_replica_enabled | ON |

| rpl_semi_sync_replica_trace_level | 32 |

+-----------------------------------+-------+

MySQL 8.0.26 之前版本:

mysql>SET GLOBAL rpl_semi_sync_slave_enabled = 1;

MySQL 8.0.26 之后版本:

mysql>SET GLOBAL rpl_semi_sync_replica_enabled = 1;

MySQL 8.0.26 之前版本:

mysql>STOP SLAVE IO_THREAD;

mysql>START SLAVE IO_THREAD;

MySQL 8.0.26 之后版本:

mysql>STOP REPLICA IO_THREAD;

mysql>START REPLICA IO_THREAD;

vi /etc/my.cnf

mysqld

rpl_semi_sync_slave_enabled=1

MySQL 8.0.26 之后版本:

rpl_semi_sync_replica_enabled=1

3 半同步复制监控

mysql> SHOW STATUS LIKE 'Rpl_semi_sync%';

4 半同步复制参数

#主库上

mysql> show global variables like '%semi%';

+---------------------------------------------+------------+

| Variable_name | Value |

+---------------------------------------------+------------+

| rpl_semi_sync_source_enabled | ON |

| rpl_semi_sync_source_timeout | 10000 |

| rpl_semi_sync_source_trace_level | 32 |

| rpl_semi_sync_source_wait_for_replica_count | 1 |

| rpl_semi_sync_source_wait_no_replica | ON |

| rpl_semi_sync_source_wait_point | AFTER_SYNC |

+---------------------------------------------+------------+

6 rows in set (0.00 sec)

#从库上

mysql> show global variables like '%semi%';

+-----------------------------------+-------+

| Variable_name | Value |

+-----------------------------------+-------+

| rpl_semi_sync_replica_enabled | ON |

| rpl_semi_sync_replica_trace_level | 32 |

+-----------------------------------+-------+

2 rows in set (0.00 sec)

相关推荐
ayaya_mana3 分钟前
MySQL忘记Root密码,详细找回密码步骤
数据库·mysql·adb
顾三殇5 分钟前
【MySQL】win 10 / win11:mysql 5.7 下载、安装与配置
数据库·mysql
言之。31 分钟前
Django `select_related` 查询优化
数据库·django·sqlite
潜心编码32 分钟前
基于Django的医疗电子仪器系统
前端·数据库·1024程序员节
芙蓉王真的好133 分钟前
Django 新手常见错误:模板找不到、数据库连接失败的解决办法
数据库·django·sqlite
言之。40 分钟前
django model Manager
数据库·django·sqlite
用户6120414922132 小时前
使用JSP+Servlet+JavaBean做的课程后台管理系统
java·javascript·mysql
乌暮2 小时前
数据库--JDBC编程
java·数据库·学习
Jtti2 小时前
如何通过检查MySQL与系统日志以找出服务器CPU占用源
服务器·mysql·adb