如何在mysql中设置单主多从架构

P粉602998670
发布: 2025-10-14 14:27:02
原创
999人浏览过
首先配置主库启用binlog并创建复制用户,然后为每个从库设置唯一server-id并配置连接主库的复制参数,最后验证各从库的Slave_IO_Running和Slave_SQL_Running状态为Yes,确认数据同步正常。

如何在mysql中设置单主多从架构

在 MySQL 中实现单主多从架构,主要是通过配置主从复制(Replication)来完成。这种架构下,一个主库(Master)负责处理写操作,多个从库(Slave)同步主库的数据并可承担读请求,从而提升系统读性能和高可用性。

1. 确认环境与网络连通性

确保主从服务器之间网络互通,MySQL 版本尽量一致或兼容。通常建议使用 GTID 或基于二进制日志(binlog)的异步复制。

  • 主库和所有从库能相互通过 IP 和端口通信(默认 3306)
  • 关闭防火墙或开放 3306 端口
  • 各节点时间同步(使用 NTP)

2. 配置主库(Master)

编辑主库的 my.cnf(或 my.ini)配置文件,启用 binlog 并设置唯一 server-id。

[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
expire-logs-days = 7
max-binlog-size = 100M

重启 MySQL 服务后,登录主库创建用于复制的账号:

CREATE USER 'repl'@'%' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
登录后复制

查看主库状态,记录 File 和 Position 值:

SHOW MASTER STATUS;
登录后复制

3. 配置各个从库(Slave)

每个从库也需要唯一的 server-id,并可选择是否开启 relay log。

[mysqld]
server-id = 2 # 每个从库 id 不同,如 3、4...
relay-log = mysql-relay-bin
read-only = 1

重启从库 MySQL 服务,然后连接到主库进行复制配置:

CHANGE MASTER TO
  MASTER_HOST='主库IP',
  MASTER_USER='repl',
  MASTER_PASSWORD='repl_password',
  MASTER_LOG_FILE='mysql-bin.000001',  -- 来自 SHOW MASTER STATUS
  MASTER_LOG_POS=154;                  -- 来自 SHOW MASTER STATUS
<p>START SLAVE;
登录后复制
表单大师AI
表单大师AI

一款基于自然语言处理技术的智能在线表单创建工具,可以帮助用户快速、高效地生成各类专业表单。

表单大师AI74
查看详情 表单大师AI

重复此步骤为每个从库配置,注意修改 server-id 和 IP 地址。

4. 验证复制状态

在每个从库上执行:

SHOW SLAVE STATUS\G
登录后复制

检查以下两个关键字段:

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes

若均为 Yes,说明复制正常。如果有错误,查看 Last_Error 信息进行排查。

可通过在主库创建数据库或表,验证是否同步到各从库。

基本上就这些。单主多从架构搭建完成后,可结合中间件(如 MyCat、ProxySQL)实现读写分离,进一步发挥从库作用。

以上就是如何在mysql中设置单主多从架构的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号