mysql5.7开启主从配置

一、 环境准备与前置检查

两台服务器(或虚拟机)均安装 MySQL 5.7,版本建议保持一致。
确保主从库之间 3306 端口互通(关闭防火墙或放行端口)。
如果是克隆的虚拟机,务必检查 /var/lib/mysql/auto.cnf中的 server-uuid,主从不能相同,相同需修改后重启。

二、 主库(Master)配置

1.修改配置文件(/etc/my.cnf或 my.ini),在 [mysqld]下添加:

server-id=1                 # 唯一的ID,主从不能重复
log-bin=mysql-bin           # 开启二进制日志
binlog_format=ROW           # 推荐ROW格式
expire_logs_days=7          # 可选:binlog保留天数

2.保存后重启 MySQL:

systemctl restart mysqld

3.创建用于主从同步的专用用户(登录 MySQL 执行):

(若方便测试也可用 ‘repl’@‘%’,生产环境建议限定IP)。

CREATE USER 'repl'@'从库IP' IDENTIFIED BY '密码';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库IP';
FLUSH PRIVILEGES;

4.查看主库 binlog 状态并记录关键信息:

SHOW MASTER STATUS;

记下输出的 File(如 mysql-bin.000001)和 Position(如 154),从库配置时必须用。
如果主库已有数据,需先用 mysqldump全量导出,并在从库导入,保证两边数据起点一致后再做同步。

三、 从库(Slave)配置

1.修改从库配置文件(/etc/my.cnf),在 [mysqld]下添加:

server-id=2                 # 不同于主库的ID
relay-log=mysql-relay-bin   # 开启中继日志(可选但建议)
read_only=1                 # 生产环境建议设为只读(超级权限账号仍可写)

2.保存后重启 MySQL:

systemctl restart mysqld

3.在从库 MySQL 中执行关联主库命令:

CHANGE MASTER TO
  MASTER_HOST='主库IP',
  MASTER_USER='repl',
  MASTER_PASSWORD='密码',
  MASTER_LOG_FILE='mysql-bin.000001',  -- 主库SHOW MASTER STATUS查到的File
  MASTER_LOG_POS=154;                   -- 主库SHOW MASTER STATUS查到的Position

4.启动从库复制线程:

START SLAVE;

四、 验证主从同步状态

1.在从库 MySQL 中执行:

SHOW SLAVE STATUS

重点查看两个字段:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
两个都为 Yes,说明主从同步正常。此后在主库建库、建表、插数据,从库会自动同步。

五、开启、关闭主从

以下命令在从库执行

1.开启

开启后会从上个断点开始同步一次

START SLAVE;

2.关闭

STOP SLAVE;

如你还需要:一主多从、主从扩产读写分离、或常见同步异常处理(如 UUID 冲突/位置点错误)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值