阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL 基于GTID的复制

169次阅读
没有评论

共计 1591 个字符,预计需要花费 4 分钟才能阅读完成。

1. 概述

从 MySQL5.6 开始,mysql 开始支持 GTID 复制。

基于日志点复制的缺点:

从那个二进制日志的偏移量进行增量同步,如果指定错误会造成遗漏或者重复,导致数据不一致。

MySQL 基于日志点的复制  见 http://www.linuxidc.com/Linux/2016-09/135576.htm

基于 GTID 复制:

1. 从服务器会告诉主服务器已执行的事务的 GTID 值。

2. 主库会告诉从哪些 GTID 事务没有被执行。

同一个事务在指定的从库执行一次。

什么是 GTID

GTID 即全局事务 ID, 器保证为每一个在主上提交的事务在复制集群中可以生成一个唯一的 ID.

GTID=source_id:transaction_id

source_id: 是主库的 server UUID,在数据目录的 auto.cnf 文件中。

transaction_id: 从 1 开始的一个序列。

2. 基于 GTID 复制的步骤

1. 在主 DB 服务器上建立复制帐号。

 和日志点是一样的。

2. 配置主数据库服务器

bin_log =mysql-bin

server_id=1001

gtid_mode=on

enforce-gtid-consiste: 强制事务一致性,保证事务的安全

  不能使用:

  1.create table。。select

  2. 在事务中使用 create temporary table 建立临时表,使用关联更新事务表和非事务表。

log-slave-updates=on

在从服务器中记录从主服务器传过来的日志数据。

 使用 GTID 5.6 必须使用此参数,5.7 可以不使用。

3. 配置从服务器。

server_id=1002

relay_log=relay_log

gtid_mode=on

enforce-gtid-consistency

建议配置

read_only=on

保证从服务器数据安全性

master_info_reposistory=TABLE

relay_log_info_reposistory=TABLE

从服务器连接主服务器的信息和中继日志存放咱 master_info,和 relay_log 中。

4. 初始化从服务器数据。

mysqldump –master-data=2 -single-transaction

xtarbackup –slave-info

记录备份时最后的事务 GTID 值。

导出数据

mysqldump –single-transaction –master-data=2 –triggers -routines –all-databases -uroot -p -P3308 >all2.sql

导入数据

mysql -uroot -p -P3309 < all2.sql

5. 启动基于 GTID 的复制

change master to master-host=’主服务 IP’,

master_user=’repl’,

master_password=’password’,

master_auto_position=1

change master to MASTER_HOST=’192.168.1.106′,
MASTER_PORT=3308,
MASTER_USER=’repl’,
MASTER_PASSWORD=’repl’,
master_auto_position=1;

start slave;

show slave status \G;

MySQL 基于 GTID 的复制

在启动 slave 时报错。

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

解决办法:

reset slave; 重置 slave

再启动 slave

start slave;

测试同步:

1. 在主库创建一张表,插入记录。

2. 在从库查询验证是否正确,经验证配置正确。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-09/135577.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1591字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中