售前咨询400-838-0503

Linux云服务器如何搭建数据库主从复制?

技术文档 2025-06-30 02:00

Linux云服务器搭建MySQL主从复制完整指南

数据库主从复制是企业级应用中常见的高可用解决方案,本文将详细介绍如何在Linux云服务器上搭建MySQL主从复制环境。通过本教程,您将掌握从环境准备到最终配置验证的全过程。

一、准备工作

  • 服务器准备:至少两台Linux云服务器(推荐CentOS 7+/Ubuntu 18.04+)
  • 网络配置:确保主从服务器间网络互通,开放3306端口
  • MySQL安装:所有节点安装相同版本的MySQL(建议5.7+)

二、主服务器配置

  1. 修改my.cnf配置文件:

    [mysqld]
    server-id = 1
    log_bin = mysql-bin
    binlog_format = ROW
    binlog-do-db = 需要复制的数据库名
    
  2. 重启MySQL服务并创建复制账号:

    systemctl restart mysqld
    mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
    

三、从服务器配置

  1. 修改my.cnf配置文件:

    [mysqld]
    server-id = 2
    relay-log = mysql-relay-bin
    read_only = 1
    
  2. 获取主服务器binlog位置并配置复制:

    mysql> CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='repl',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=位置值;
    

四、验证与排错

检查项 命令 预期结果
主服务器状态 SHOW MASTER STATUS 显示当前binlog信息
从服务器状态 SHOW SLAVE STATUS\G Slave_IO_Running和Slave_SQL_Running都为Yes

五、常见问题解决方案

  • 连接失败:检查防火墙设置和网络连通性
  • 复制延迟:优化查询,考虑使用GTID复制
  • 数据不一致:使用pt-table-checksum工具检查差异

最佳实践建议

1. 生产环境建议配置GTID复制模式
2. 定期监控复制延迟
3. 重要操作前做好数据备份
4. 考虑使用中间件如ProxySQL实现读写分离

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单