博客
关于我
MySQL集群之实现半同步复制
阅读量:751 次
发布时间:2019-03-21

本文共 1418 字,大约阅读时间需要 4 分钟。

CentOS8 下 MySQL8.0 实现半同步复制

半同步复制是一项高效的数据库复制机制,可以在主节点暂停时减少延迟的副作用。本文将具体说明在 CentOS8 上配置 MySQL8.0 的半同步复制步骤。

准备工作

  • 设置主节点(10.0.0.8)和从节点(10.0.0.18 和 10.0.0.28)

  • 创建并授权复制用户

    CREATE USER 'repluser'@'10.0.0.%' IDENTIFIED BY '123456';GRANT REPLICATION SLAVE ON . TO 'repluser'@'10.0.0.%';

    这个用户应拥有x509证书,以确保通信的安全性。

  • 安装和配置插件

  • 安装插件

    • 在主节点安装 semisync_master.so 插件:
    INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    • 在从节点安装 semisync_slave.so 插件:
    INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
  • 配置文件修改

    • 主节点配置
    [mysqld]server-id=8log-binrpl_semi_sync_master_enabled=1rpl_semi_sync_master_timeout=3000
    • 从节点配置
    [mysqld]server-id=
    <从节点id,例如18或28>
    log-binrpl_semi_sync_slave_enabled=1

    请确保 log-bin 选项启用,以支持半同步日志记录。

  • 启动数据库服务并重启

    systemctl restart mysqld

    注意:如果使用 mysqld 而不是 mysql_upgrade,可能需要重新启动数据库。

  • 配置主从关系

  • 从节点设置主节点信息

    CHANGE MASTER TOMASTER_HOST='10.0.0.8'MASTER_USER='repluser'MASTER_PASSWORD='123456'MASTER_PORT=3306MASTER_LOG_FILE='Centos8-bin.*MASTER_LOG_POS=156;
  • 启动复制并验证状态

    START SLAVE;SHOW SLAVE STATUS\G

    查看输出,确保从节点连接到主节点。部分状态变量如 Rpl_semi_sync_master_enabled 应为 1,表示半同步已开启。

    另外,检查全局状态变量:

    SHOW GLOBAL VARIABLES LIKE '%semi%';

    预期会显示 rpl_semi_sync_master_enabledrpl_semi_sync_slave_enabled 为 1。

  • 验证半同步功能

  • 在主节点创建ATEST

    CREATE DATABASE db1;
  • 验证从节点访问

    如果从节点已连接,可以查询主节点的数据库:

    SHOW CREATE DATABASE db1;
  • 分析延迟表现

    停止一个从节点:

    STOP SLAVE;

    主节点数据应在3秒内写入,而从节点有连接的情况下不受影响。

  • 总结

    以上步骤完整指导了在 CentOS8 上配置 MySQL8.0 的半同步复制。通过设立合适的插件和配置,确保主从节点之间的数据同步高效且可靠。

    转载地址:http://beoez.baihongyu.com/

    你可能感兴趣的文章
    mysql 默认事务隔离级别下锁分析
    查看>>
    Mysql--逻辑架构
    查看>>
    MySql-2019-4-21-复习
    查看>>
    mysql-5.6.17-win32免安装版配置
    查看>>
    mysql-5.7.18安装
    查看>>
    MySQL-Buffer的应用
    查看>>
    mysql-cluster 安装篇(1)---简介
    查看>>
    mysql-connector-java.jar乱码,最新版mysql-connector-java-8.0.15.jar,如何愉快的进行JDBC操作...
    查看>>
    mysql-connector-java各种版本下载地址
    查看>>
    mysql-EXPLAIN
    查看>>
    MySQL-Explain的详解
    查看>>
    mysql-group_concat
    查看>>
    MySQL-redo日志
    查看>>
    MySQL-【1】配置
    查看>>
    MySQL-【4】基本操作
    查看>>
    Mysql-丢失更新
    查看>>
    Mysql-事务阻塞
    查看>>
    Mysql-存储引擎
    查看>>
    mysql-开启慢查询&所有操作记录日志
    查看>>
    MySQL-数据目录
    查看>>