MySQL主从复制-基于GTID复制

MySQL主从复制-基于GTID复制的优缺点

一、 概念及原理

在这里插入图片描述

什么事GTID 从MySQL5.6开始支持的复制方式

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

GTID = source_id:transaction_id其中source_id是执行主库server uuid的值

二、配置

CREATE USER 'wx'@'192.168.163.103' IDENTIFIED BY 'root';
GRANT REPLICATION SLAVE ON *.* TO 'wx'@'192.168.163.103';

配置主数据库服务器

server_id=102
log_bin=mysql-bin
#开启gtid
gtid_mode=on
#启用后无法创建表 
enforce_gtid_consistency=1
#用于从服务中主服务器发送修改日志
log_slave_updates=on
master_info_repository=TABLE#建议
relay_log_info_repository=TABLE#建议

配置 从数据库服务器

server_id=103
relay_log=relay_log
gtid_mode=on
enforce_gtid_consistency=1
log_slave_updates=on
#可选 安全配置可以阻止任何没有sql语句权限账号对数据进行修改
read_only=on#建议
master_info_repository=TABLE#建议
relay_log_info_repository=TABLE#建议

​ 初始化从服务器数据

mysqldump --master-data=2-single-transaction
# 示例从主数据导出sql
mysqldump  --all-databases --single-transaction --routines --events --triggers --master-data  -uroot -p> all.sql
# scp all.sql root@192.168.163.103:/root   从库导入
mysql -uroot -p < all.sql;

启动基于GTID的复制

 CHANGE MASTER TO
         MASTER_HOST='192.168.163.102',
         MASTER_USER='wx',
         MASTER_PASSWORD='root',
         MASTER_AUTO_POSITION=1;
#重置之前的slave
stop slave;
reset slave;
start slave;

优点:

  • 可以很方便的进行故障转移
  • 从库不会丢失主库上的任何修改

缺点:

  • 故障处理比较复杂
  • 对执行的sql有一定的限制

如何选择复制模式要考虑的问题

  • 使用的MySQL版本

  • 复制架构及主从切换的方式

  • 所使用的高可用管理组件

  • 对应用的支撑程度

    推荐gtid方式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值