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)

相关推荐
j7~9 小时前
【MYSQL】在Centos7和ubuntu22.04环境下安装
数据库·c++·mysql·ubuntu·centos
环流_9 小时前
redis:持久化rdb
java·数据库·redis
Donk_6710 小时前
MariaDB 数据库管理手册
数据库·mariadb
阿洛学长10 小时前
PostgreSQL 超详细安装与使用教程:从入门到实战
数据库·postgresql
许彰午10 小时前
Oracle Redo日志与Undo回滚段损坏恢复实战
数据库·oracle
qxwlcsdn10 小时前
mysql在事务中执行DDL的后果_MySQL 8.0之前的限制
jvm·数据库·python
難釋懷10 小时前
Redis通信协议-基于Socket自定义Redis的客户端
数据库·redis·缓存
环流_10 小时前
redis:AOF
数据库·redis·spring
2401_8844541510 小时前
如何防止SQL触发器导致性能下降_通过精简触发器逻辑
jvm·数据库·python
m0_5967490910 小时前
Golang如何做Clean Architecture_Golang整洁架构教程【详解】
jvm·数据库·python