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. 测试一下看主从是否一致

 

转载于:https://www.cnblogs.com/yingdiblog/p/7570627.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值