环境centos 7
GTID 全民global transaction identifiers(全局事务标志);
GTID (Global Transaction ID) 是对于一个已提交事务的编号,并且是一个全局唯一的编号。 GTID 实际上 是由 UUID+TID 组成的。其中 UUID 是一个 MySQL 实例的唯一标识。TID 代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。
主192.168.153.100
从192.168.153.101 (master)
- 首先在两台服务器关闭防火墙,安装 mysql,我这里安装的是阿里最新的mariadb安装最新的mariadb要获取阿里的yum源
systemctl stop firewalld.service
vim /etc/yum.repo/Mariadb.repo
- 添加mariadb在阿里的链接
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
- 注意两台服务器都需要创建,这样才能保证两台服务器版本一致,进行安装
yum -y install mariadb mariadb-server
- 安装完毕后更改mysql 的配置文件,两个都需要更改
vim /etc/my.cnf.d/serever.cnf
主
在[mysqld]下插入
server_id = 1
log_bin = mysql-bin
从
在[mysqld]下插入
server_id = 2
log_bin = mysql-bin
- 重启数据库,并进入数据库,对其进行账号授权。
systemctl start mariadb mariadb-server
mysql
grant replication slave on *.* to 'tom'@'192.168.153.101' identified by '123';
- 进入从服务器,重启mariadb,进入mysql,停止同步修改信息
systemctl start mariadb mariadb-server
stop slave;
chang master to master_host='192.168.153.100',master_user='tom',master_password='123',master_port=3306,master_use_gtid = current_pos;
start slave;
7.查看连接状态
show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
![]()
如果没有变成双yes 重启数据库然后重新测试,以上就是GTID实现主从同步的所有过程。