TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

MySQL主从集群配置实战指南:从安装到高可用搭建

2025-07-07
/
0 评论
/
2 阅读
/
正在检测是否收录...
07/07

本文详解MySQL 8.0主从集群配置全流程,包含安装后的初始化操作、主库与从库的配置技巧、复制模式选择以及常见问题排查,助您快速构建高可用数据库架构。


一、MySQL安装后的关键初始化

完成MySQL安装后,不要急于配置集群,先做好这些基础工作:

  1. 安全加固
    bash mysql_secure_installation
    执行后会交互式设置root密码、移除匿名用户、禁止远程root登录等。

  2. 创建专用账号
    sql CREATE USER 'repl'@'%' IDENTIFIED BY 'S3cure_Pass!'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;

  3. 确认服务状态
    bash systemctl status mysqld

二、主从复制核心配置详解

主库配置(my.cnf)

ini [mysqld] server_id = 1 log_bin = mysql-bin binlog_format = ROW binlog_row_image = FULL expire_logs_days = 7 sync_binlog = 1

关键参数说明:
- server_id:集群内唯一标识
- binlog_format:推荐ROW模式避免数据不一致
- sync_binlog=1:确保事务先写入binlog再提交

从库配置(my.cnf)

ini [mysqld] server_id = 2 relay_log = mysql-relay-bin read_only = ON log_slave_updates = ON # 如需链式复制需开启

启动复制流程

  1. 主库锁定并获取坐标
    sql FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
    记录File(如mysql-bin.000001)和Position(如154)

  2. 从库配置连接
    sql CHANGE MASTER TO MASTER_HOST='主库IP', MASTER_USER='repl', MASTER_PASSWORD='S3cure_Pass!', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;

  3. 解锁主库
    sql UNLOCK TABLES;

  4. 启动从库复制
    sql START SLAVE; SHOW SLAVE STATUS\G
    检查Slave_IO_RunningSlave_SQL_Running均为Yes

三、GTID复制模式(推荐)

现代MySQL版本建议使用GTID复制:ini

主从库均需添加

gtidmode = ON enforcegtid_consistency = ON

配置命令简化为:
sql CHANGE MASTER TO MASTER_HOST='主库IP', MASTER_USER='repl', MASTER_PASSWORD='S3cure_Pass!', MASTER_AUTO_POSITION=1;

四、常见故障排查

  1. 复制中断



    • 检查Last_IO_Error/Last_SQL_Error字段
    • 常见解决方法:
      sql STOP SLAVE; SET GLOBAL sql_slave_skip_counter = 1; START SLAVE;
  2. 数据不一致
    使用pt-table-checksum工具校验:
    bash pt-table-checksum --host=主库IP --user=check_user --password=xxx

  3. 网络延迟
    监控Seconds_Behind_Master值,超过阈值需优化网络或调整:
    ini slave_net_timeout = 60

五、生产环境优化建议

  1. 备份策略



    • 主库定期全量备份+binlog增量
    • 从库可作为备份源减轻主库压力
  2. 监控指标



    • 复制延迟时间
    • 主从数据一致性
    • 网络吞吐量
  3. 高可用扩展



    • 考虑MGR集群方案
    • 配合ProxySQL实现读写分离

经验提示:首次同步大型数据库时,建议使用mysqldump导出主库数据并在从库导入后再启动复制,避免长时二进制日志传输。

MySQL集群搭建主从复制配置数据库高可用binlog日志GTID复制
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/32056/(转载时请注明本文出处及文章链接)

评论 (0)