温馨提示×

centos怎么配置主从

小樊
49
2026-08-18 15:52:47
栏目: 智能运维

你应该是想问 CentOS 下的主从配置吧?常见场景有几种,我先给你最常用的一套通用说明(以 MySQL 主从为例),如果你指的是 Redis / Nginx / DNS / 文件同步(rsync),可以再告诉我,我可以单独给你对应方案。


一、CentOS 配置 MySQL 主从(最典型)

适用于:CentOS 7 / 8,MySQL 5.7 / 8.0

环境假设

  • 主库(Master):192.168.1.10
  • 从库(Slave):192.168.1.11
  • MySQL 已安装

二、主库(Master)配置

1️⃣ 修改 MySQL 配置文件

vim /etc/my.cnf

加入或修改:

[mysqld]
server-id=1
log-bin=mysql-bin
binlog_format=row

server-id 必须唯一

重启 MySQL:

systemctl restart mysqld

2️⃣ 创建用于主从同步的账号

CREATE USER 'repl'@'192.168.1.%' IDENTIFIED BY 'repl123';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%';
FLUSH PRIVILEGES;

3️⃣ 查看主库状态

SHOW MASTER STATUS;

记住这两个值(非常重要):

File: mysql-bin.000001
Position: 154

三、从库(Slave)配置

1️⃣ 修改配置文件

vim /etc/my.cnf
[mysqld]
server-id=2
relay-log=relay-bin
read-only=1

重启 MySQL:

systemctl restart mysqld

2️⃣ 配置主从同步

CHANGE MASTER TO
MASTER_HOST='192.168.1.10',
MASTER_USER='repl',
MASTER_PASSWORD='repl123',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;

3️⃣ 启动从库

START SLAVE;

4️⃣ 查看从库状态

SHOW SLAVE STATUS\G

重点看这两行:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

✅ 都是 Yes 表示主从成功


四、常见问题排查

❌ Slave_IO_Running: Connecting

  • 防火墙没放行 3306
  • 主库 IP / 账号 / 密码错误
  • 网络不通

❌ Slave_SQL_Running: No

  • 主从数据不一致
  • 从库执行了写操作

五、其他常见“主从”场景(可选)

场景 是否支持
MySQL 主从 ✅ 最常用
Redis 主从
Nginx 负载均衡
DNS 主从
rsync 文件同步

六、我可以进一步帮你

你可以直接告诉我:

  • 是 MySQL 还是 Redis?
  • CentOS 7 还是 8?
  • 是否已安装服务?
  • 是内网还是云服务器?

我可以给你 一步一步可直接复制执行的命令版

0