记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

环境centos 7,安装最新版本Mariadb10.5.5
GTID 全民global transaction identifiers(全局事务标志);
GTID (Global Transaction ID) 是对于一个已提交事务的编号,并且是一个全局唯一的编号。 GTID 实际上 是由 UUID+TID 组成的。其中 UUID 是一个 MySQL 实例的唯一标识。TID 代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。
主192.168.137.31
从192.168.137.38  


网上有一堆文章,不过全是没验证过的,在mariadb10.5.5版本上面,根本无法使用。
以下内容是我这里验证过的。

1,首先在两台服务器关闭防火墙与Selinux, 我这里安装的是阿里最新的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

 
2,注意两台服务器都需要创建,这样才能保证两台服务器版本一致,进行安装
yum -y install mariadb mariadb-server

3,安装完毕后更改Mariadb 的配置文件,两个Mariadb主机都需要更改, 
server_id要不一样,log-basename是日志文件名称,可以使用不一样的名称。
vim /etc/my.cnf

[mariadb]
log-bin
server_id=1
log-basename=master1
binlog-format=mixed


如果 /etc/my.cnf配置不存在,就直接新建一个,或是添加到/etc/my.cnf.d/server.cnf中,
注意: 不能添加到 [mysqld]  项目里面,不然不会生效。

4,重启数据库,并进入主mariadb,对其进行账号授权。
systemctl start mariadb 
 grant replication slave on *.* to 'slave'@'192.168.137.%' identified by '123';
// 这里tom 是授权账号的用户名、192.168.137是从的ip段、后面的123是用户名的密码账号密码可以自己随意修改
 
进入从服务器,重启mariadb, 停止同步并修改信息,如果主数据库已经有数据了,那需要备份主数据库的信息并导入到从机后才可以开始同步。
systemctl start mariadb mariadb-server
//重启mysql
stop slave;
//关闭同步


5,如果有数据的话,先备份主机数据库:
 mysqldump -u root -p  -B -A -F  --master-data=2 --single-transaction  --events > gtid.sql
再到从机上面还原。

6,最后添加复制信息。MASTER_USE_GTID可以是current_pos或是slave_pos,如果有数据的话,一般可使用slave_pos.
     show variables like 'Gtid%';                           # 使用此命令查看相关gtid 信息
     SET GLOBAL gtid_slave_pos = "0-20-733";    #可以使用此命令设置全局gtid参数


CHANGE MASTER TO MASTER_HOST='192.168.137.31',MASTER_USER='slave',MASTER_PASSWORD='123',MASTER_PORT=3306,MASTER_USE_GTID = current_pos;


//修改master信息 host为主ip,user为在主创建的用户名,password为在主创建的密码,port为mysql端口号,use_gtid为传统模式更改为gtid复制模式

start slave;
// 开启同步

show slave status \G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes


//变成双yes表示同步成功

如果想作成两台主机互为主从,那只需要上面4,6 步骤在主数据库作一次。

最后测试新建数据库,查看从机数据库,正常同步。









转载请标明出处【Centos7安装Mariadb10.5并实现GTID主从同步复制】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论