mysql主从复制需要哪些条件_mysql环境准备说明

26次阅读

mysql主从复制稳定运行需满足五项核心条件:主库启用binlog并配置唯一server-id;创建专用复制用户并授权;主从时间同步误差≤1秒;网络连通且端口开放;从库server-id与主库不同且唯一。

mysql主从复制需要哪些条件_mysql环境准备说明

MySQL主从复制要稳定运行,核心是主库和从库之间能正确同步数据变更。这需要在环境、配置、权限、网络等多个层面满足基本条件。

主库必须启用二进制日志(binlog)

这是主从复制的数据源头。没有开启 binlog,主库就无法记录写操作,从库自然无从复制。

  • 确认 my.cnf(或 my.ini)中已配置:log-bin = mysql-bin(路径可自定义,但建议使用绝对路径)
  • 同时推荐设置:server-id = 1(唯一且非0,主库通常设为1)
  • 重启 MySQL 或执行 SET PERSIST log_bin = ON;(8.0.14+ 支持持久化变量)后验证:SHOW VARIABLES LIKE ‘log_bin’; 返回 ON

主库需有专用复制用户并授权

从库连接主库时,不能用 root 或业务账号,应创建最小权限的复制账号。

  • 登录主库执行:CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘SecurePass123’;
  • 授予复制权限:GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
  • 刷新权限:FLUSH PRIVILEGES;
  • 注意:若从库 IP 固定,建议限定主机如 ‘repl’@’192.168.5.10’,更安全

主从服务器时间需基本同步

时间偏差过大会导致 GTID 模式下位点解析异常、慢查询日志时间错乱,甚至影响基于时间的备份恢复逻辑。

mysql主从复制需要哪些条件_mysql环境准备说明

Otter.ai

一个自动的会议记录和笔记工具,会议内容生成和实时转录

mysql主从复制需要哪些条件_mysql环境准备说明 141

查看详情 mysql主从复制需要哪些条件_mysql环境准备说明

  • 推荐使用 NTP 或 systemd-timesyncd 统一校时
  • 检查命令:datetimedatectl status
  • 允许误差一般控制在 ±5 秒内,生产环境建议 ≤1 秒

网络连通与端口开放是基础前提

从库必须能通过网络访问主库的 MySQL 端口(默认 3306),且主库防火墙/安全组策略允许该连接。

  • 从库上测试连通性:mysql -h 主库IP -P 3306 -u repl -p
  • 主库确认监听地址不是仅限 localhost(检查 bind-address 配置,生产环境常设为 0.0.0.0 或具体内网 IP)
  • 如使用云服务阿里云腾讯云等),务必检查安全组是否放行对应端口和源 IP 段

从库 server-id 必须唯一且不同于主库

MySQL 依靠 server-id 区分集群中每个节点,重复会导致复制中断或数据错乱。

  • 在从库配置文件中设置:server-id = 2(或其它不与主库及其他从库冲突的整数)
  • 不建议使用 0 或未配置,否则启动时可能报错或被忽略
  • 修改后需重启 MySQL 或执行 SET PERSIST server_id = 2;(需 SUPER 权限)

不复杂但容易忽略,每项都关系到复制能否建立和长期稳定。准备时按顺序逐项核对,比出问题后再排查高效得多。

text=ZqhQzanResources