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

首先配置主库启用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

START SLAVE;

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

4. 验证复制状态

在每个从库上执行:

SHOW SLAVE STATUSG

检查以下两个关键字段:

Slave_IO_Running: YesSlave_SQL_Running: Yes

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/201747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月1日 21:34:15
下一篇 2025年11月1日 21:34:45

相关推荐

发表回复

登录后才能评论
关注微信