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)

相关推荐
番茄去哪了1 分钟前
从0到1独立开发一个论坛项目(一)
java·数据库·oracle·maven
API开发6 分钟前
一个MCP操作所有的数据库
数据库·api·api接口·apisql·mcp·mcpserver·openclaw
zone7_17 分钟前
008-01:RAG 入门-向量存储与企业级向量数据库 milvus
数据库·milvus
iMingzhen22 分钟前
不想引入 Redis,我用一张 SQLite 表实现了消息队列
数据库·redis·ai·sqlite
冷小鱼22 分钟前
Milvus 向量数据库完全指南:开源架构与生产级部署实战
数据库·开源·milvus
Curvatureflight28 分钟前
Redis实战:缓存设计与高频场景全解析
数据库·redis·缓存
1688red29 分钟前
基于Canal实现MySQL到Elasticsearch的数据同步
数据库·mysql·elasticsearch
m0_7505803030 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
稻草猫.32 分钟前
MyBatis进阶:动态SQL与MyBatis Generator插件使用
java·数据库·后端·spring·mvc·mybatis
华农DrLai34 分钟前
什么是Prompt模板?为什么标准化的格式能提高稳定性?
数据库·人工智能·gpt·nlp·prompt