Mariadb 10.2.8版本GTID主从环境搭建以及切换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mariadb 10.2.8版本GTID主从环境搭建以及切换相关的知识,希望对你有一定的参考价值。

1.首先搭建主从

主环境:192.168.1.117

从环境:192.168.1.123

a.首先以二进制包的形式安装好MariaDB (忽略不计)

b.配置环境的变量

通配

[mysqld]

binlog-format=row

log-slave-updates=True

master-info-repository=table

relay-log-info-repository=table

sync-master-info=1 

slave-parallel-threads=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log-events=1

 

我主从服务器都配置log-bin以及relay-log

主服务器

server_id = 100

log-bin=mysql-bin、

relay_log=relay-bin

从服务器

server_id=101

log-bin=mysql-bin

relay_log=relay-bin 

 

 

c.先使用主机器给从机器授权

主上操作

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘slave‘@‘192.168.1.123‘ IDENTIFIED BY "密码"

 

show master status   查看从服务器的 bin-log 文件以及 偏移量

技术分享

select binlog_gtid_pos("mysql-bin.000001",1696); 查看gtid号

技术分享

 

d. 启动同步

set global  gtid_slave_pos=‘0-1001-58‘;

change master to

master_host=‘192.168.1.123‘,

master_user=‘slave‘,

master_password=‘密码‘,

master_port=3306,

master_use_gtid=slave_pos;

start slave;

这里和以前基于二进制日志进行复制的区别:需要设置全局 gtid_slave_pos值 ,并且使用Master_use_gtid语句

查看同步状态,无错误即正常 

技术分享

 F.可以进行主从的数据

看主从数据是 否一致

以上没有考虑到数据量过大的情况,如果数据量过大,还是现在主库上做备份,然后导到从库上

 

 

 2.故障切换模拟

a.杀死mysql进程 模拟数据库挂掉的情况

ps -ef|grep mysql

kill -9  pid  

b.在从服务器上将 slave 去除掉

reset slave all;

c.授权给从库 

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘slave‘@‘192.168.1.117‘ IDENTIFIED BY "密码"

d. 在新的从库上启动 复制

  • 从库采用gtid的复制,语法为:CHANGE MASTER TO master_use_gtid = { slave_pos | current_pos | no }

  • 一般使用slave_pos,当A->B,A挂掉,B当master,然后A好了,想要做B的slave情况下,使用current_pos,因为B以前是主库,没有slave_pos这个值

    由官网得知

change master to

master_host=‘192.168.1.117‘,

master_user=‘slave‘,

master_password=‘密码‘,

master_port=3306,

master_use_gtid=current_pos;

start slave;

 

e.查看新的从库的信息

show slave status\\G;

f. 测试一下看主从是否一致

 

以上是关于Mariadb 10.2.8版本GTID主从环境搭建以及切换的主要内容,如果未能解决你的问题,请参考以下文章

初识MariaDB之8——GTID主从复制

linux笔记 第四十课 mysql主从复制

[mysql] MariaDB 10.0.10 GTID复制

初识MariaDB之9——keepalive+GTID双主实现高可用

MHA+ProxySQL,mysql的高可用集群+读写分离GTID主从复制

MariaDB基于GTID的复制