博客
关于我
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 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    MySQL 到底能不能放到 Docker 里跑?
    查看>>
    mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
    查看>>
    mysql 协议的退出命令包及解析
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 四种存储引擎
    查看>>
    MySQL 基础模块的面试题总结
    查看>>
    MySQL 备份 Xtrabackup
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mySQL 多个表求多个count
    查看>>
    mysql 多字段删除重复数据,保留最小id数据
    查看>>
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>
    MySQL 大数据量快速插入方法和语句优化
    查看>>
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>