mysql半同步复制

强颜欢笑 提交于 2020-01-28 15:28:42

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;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!