mysql半同步复制

本文深入解析MySQL半同步复制机制,介绍如何通过配置文件、二进制日志、权限设置及插件安装实现数据更新确认,确保数据一致性与安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL半同步复制概念

用户发请求到代理服务器,代理服务器把请求转到主服务器上,主服器更新数据,把数据复制给从服务器(个数很多),只要有一台从服务器数据更新成功,就立刻告诉主服务器更新数据成功。主服务器立即发请求告诉代理服务器,代理服务器转发请求给客户端,表示成功了。坚锢了数据,确保数据安全。

mysql 半同步复制配置

master
– 配置文件

vim /etc/my.cnf
	[mysqld]
	server_id=#
	log_bin

– 二进制日志

mysql> show master status; 
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000003 |      245 |              |                  |
+--------------------+----------+--------------+------------------+

– 授权

mysql> grant replication slave on *.* to repluser@'192.168.43.%' identified by 'centos';
mysql> flush privileges;

– 安装插件,启用插件

mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql> set global rpl_semi_sync_master_enabled=1;
mysql> show global status like '%semi%';

slave

– 配置文件

vim /etc/my.cnf	
	[mysqld]
	server_id=#(唯一)

– 以哪个用户连接主服务器,从哪个日志,哪个位置同步二进制日志

mysql> 
CHANGE MASTER TO
MASTER_HOST='192.168.43.7',
MASTER_USER='repluser',
MASTER_PASSWORD='centos',
MASTER_PORT=3306,
MASTER_LOG_FILE='mariadb-bin.000003',
MASTER_LOG_POS=245;

– 开启io,sql线程

mysql> start slave;
mysql> show slave status\G //查看主从是否建立

– 安装插件,启用插件

mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
mysql> set global rpl_semi_sync_slave_enabled=1;

– 让插件生效

mysql> stop slave;
mysql> start slave;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值