Gtid方式搭建主从复制+MHA高可用集群

  • GTID是什么

    • GTID(全局事务标识符),它用于唯一标识一个事务。
    • 每个GTID由三个部分组成:
      • 服务器唯一标识符
      • 事务序列号
      • 全局事务标识符
    • 使用gtid可以简化主从复制的配置和管理,减少由于复制链路终端、主从数据不一致等问题带来的风险
  • 如何开启GTID:

    • 在/etc/my.cnf文件中添加如下配置:
      • gtid-mode = ON (ON表示开启,OFF表示拒绝)
      • log-slave-updates = 1
      • log-bin = MySQL-bin
      • enforce_gtid_consistency = 1
      • log-bin-index = MySQL-bin.index
  • 使用Gtid的主从复制优点:

    • 简化配置:使用gtid可以简化主从配置,不需要手动配置每个服务器的而兼职文件和位置
    • 自动故障切换:gtid可以在主从切换时自动识别和处理已复制和未复制的事务,使主从切换更加可靠和快速
    • 避免重复复制:因为GTID的幂等性,gtid可以避免主从复制中的重复复制问题,确保每个事务只被复制一次
  • GTID复制和普通复制的区别:

    • 1.在主从复制环境中,主库发生过的事务,在全局都是由唯一GTID记录的,更方便Failover(故障恢复)
    • 2.gtid配置更简单,不需要手动记录和处理二进制日志位置
    • 3.gtid更容易处理故障恢复和切换主从关系,因为不再依赖于二进制日志文件名和偏移量
    • 4.在复制过程中,从库不再依赖master.info文件,而是直接读取最后一个relaylog的GTID号
  • MHA架构介绍:

    • MHA架构由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)Node节点运行在每台MySQL服务器上。
    • MHA Manager会定时探测集群中的master节点,当master出现故障时,他它可以自动将最新数据的Slave提升为新的master,将所有其他的slave重新指向新的master
  • MHA的缺点:

    • 在MHA自动故障切换时,MHA从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失,存在的问题是,如果是主服务器硬件故障宕机或无法通过SSH访问,MHA则无法保存二进制日志。
  • 部署GTID主从复制:

    • 实验环境:

      • db1:192.168.8.10 (主)
      • db2:192.168.8.20(从)
      • db3:192.168.8.30(从)
    • 修改mysql配置文件:

      • db1:
        • cat > /etc/my.cnf <<EOF
        • [mysqld]
        • basedir=/usr/local/mysql/
        • datadir=/usr/local/mysql/data
        • socket=/tmp/mysql.sock
        • server_id=1
        • port=3306
        • secure-file-priv=/tmp
        • autocommit=1
        • log_bin=mysql-bin
  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力转型的IT小王

希望获得您的认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值