mysql 数据库GTID主从复制部署

GTID主从复制部署

GTID
  • 全局事务标识:global transaction identifiers
    是用来代替传统复制的方法,GTID复制与普通复制模式的最大不同就是不需要指定二进制文件名和位置,不再使用MASTER_LOG_FILE+MASTER_LOG_POS开启复制。而是使用MASTER_AUTO_POSTION=1的方式开始复制。
  • GTID的组成:
    GTID = source_id:transaction_id
    source_id源id,用于鉴别原服务器,即mysql服务器唯一的server_uuid,由于GTID会传递到slave,所以也可以理解为源ID。
    transaction_id事务id,为当前服务器上已提交事务的一个序列号,通常从1开始自增长的序列,一个数值对应一个事务。
    示例:
    3E11FA47-71CA-11E1-9E33-C80AA9429562:23
    前面的一串为服务器的server_uuid,即3E11FA47-71CA-11E1-9E33-C80AA9429562,后面的23为transaction_id
  • GTID的工作原理:
    1、master更新数据时,会在事务前产生GTID,一同记录到binlog日志中。
    2、slave端的i/o 线程将变更的binlog,写入到本地的relay log中。
    3、sql线程从relay log中获取GTID,然后对比slave端的binlog是否有记录。
    4、如果有记录,说明该GTID的事务已经执行,slave会忽略。
    5、如果没有记录,slave就会从relay log中执行该GTID的事务,并记录到binlog。
部署前将服务器重新初始化:

master1 (master) ---------> master2 (slave)
在初始化之前记得关闭数据库,还有之前修改的配置文件,比如(log-bin)

systemctl stop mysqld
rm -rf /var/lib/mysql/*
systemctl start mysqld
grep password /var/log/mysqld.log
或cat /var/log/mysqld.log |grep password|grep localhost:|awk -F"localhost:" '{print $NF}'	   //查找初始密码
mysqladmin -p'初始密码'    password '(new-password)'
MS流程 GTID
Master

1.配置文件

vim /etc/my.cnf
    log-bin  
    server-id=1 
    gtid_mode = ON  
    enforce_gtid_consistency=1  

在这里插入图片描述
注意:要重新启动数据库
2.授权用户

 grant all on *.* to slave@'%' identified by 'NEW-password123';
 flush privileges;

在这里插入图片描述
【3. 初始化数据库 mysqldump all databases scp rsync -------> slave】 //完全不需要

Slave部署:

1.修改配置文件打开gtid功能:vim /etc/my.cnf

log-bin
server-id=2 
gtid_mode = ON  
enforce_gtid_consistency=1 
master-info-repository=TABLE  
relay-log-info-repository=TABLE
relay_log_recovery= on

注意:要重新启动数据库
在这里插入图片描述
2.【2. 初始化数据库 导入数据】
3. 在edit中填写相关配置

mysql >  change master to
                   master_host='master1',
                   master_user='授权用户',
                   master_password='授权密码',
                   master_auto_position=1;

4.启动slave

mysql > start slave;    #启动slave角色

5.查看状态

 mysql > show slave status\G

在这里插入图片描述

有这个效果即可说明部署成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值