MariaDB 的主从复制以及建立主从复制后第一条语句就出错的原因

今天用到了MariaDB的主从复制,就梳理一下MariaDB的GTID。如果英语不错,请看文档,须知文档为主,博客为辅。

英文文档:https://mariadb.com/kb/en/mariadb/global-transaction-id/


MariaDB的GTID是单独的一种形式,默认就开启。


MariaDB的GTID的组成是  DOMAIN ID-SERVER ID-sequence。举例来说,假设domain id是0,server id是1, sequence 是2334.

那么这个GTID 就是 0-1-2334.


再介绍两个概念:

1. gtid_slave_pos :这个变量的含义是当前的slave在master上面已经读到哪一个位置了。在还没有读的时候,这个值应该为空。

2. gitd_master_pos:这个变量是记载着当前这个机器的binlog中最后一个事务的gtid的值。在还没有任何写操作的时候,应该为空。


最后,命令的介绍:

当建立一个空的slave的时候,命令为:

CHANGE MASTER TO master_host=192.168.1.22, master_port=3310, master_user=root, master_use_gtid=current_pos;

start slave;

当已经知道要从某个gtid开始同步的时候,用slave_pos, 命令为:

set global gtid_slave_pos="0-1-2334"; #Option

CHANGE MASTER TO master_host=192.168.1.22, master_port=3310, master_user=root, master_use_gtid=slave_pos;

start slave;

至此,MariaDB 的 Replication 介绍结束。


一种常见错误:之前成功建立主从关系,运行一段时间,后来断掉主从关系,在主上执行reset master;在从节点上执行stop slave;reset slave all;

然后再按照上面的步骤,就会出错。出现的错误时主从同步可以建立起来,但是一旦开始同步就出错。

解决方法: 在change master to 之前执行 set global gtid_slave_pos=‘’; 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值