源码mysql关于gtid的双主同步复制

本文详细介绍如何在两台服务器上配置MySQL双主集群,包括主从复制的设置、权限授权、GTID模式的启用及双主配置步骤,确保数据高可用性和一致性。

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

master1  ip:192.168.122.237

master2  ip:192.168.122.38

做双主  两个master都需配置如下

[root@dir2 ~]# cat /etc/my.cnf
[mysqld]
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/mydata/data
port=3306
server_id=38
socket=/tmp/mysql.sock
character_set_server=utf8

log_bin     //双主两个log_bin都需开启,单做主从只需开master端
gtid_mode=ON
enforce_gtid_consistency=true

[client]
default-character-set=utf8

 

首先做主从                 以master1为主,master2为从

在master1上进行授权:

grant replication slave on *.* to 'slave'@'192.168.122.237' identified by '123';

这个在用master2 进行帐号测试时

mysql -uslave -p'123' -h '192.168.122.237' 可能会出现一下错误

ERROR 1130 (HY000): Host 'virtual3' is not allowed to connect to this MySQL server

这是由于master2这个主机拒绝远程访问除了 localhost的mysql,最好授权给一个网段

或者写

grant replication slave on *.* to 'slave'@'192.168.122.%' identified by '123';

master2端进行:

mysql> change master to
    -> master_host='192.168.122.237',
    -> master_user='slave',
    -> master_password='123',
    -> master_auto_position=1;

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status;

 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes   只有这两个都为yes才可以,做完主从可以先测试一下,看是否能同步,再来做双主

在此基础上做双主:

由于刚是在master1上对该网段授权,所以不需要master2对master1授权了,比较方便

注:若在master1上没有对该网段授权,需master2对master1授权,但也是在master1上进行授权命令

master1:  也进行如下操作

mysql> change master to
    -> master_host='192.168.122.237',
    -> master_user='slave',
    -> master_password='123',
    -> master_auto_position=1;

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status;

 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes   出现这个就行

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值