mysql如何切换主从角色_mysql主从切换操作方法

来源:这里教程网 时间:2026-02-28 20:29:01 作者:
MySQL主从切换是指将当前的主库(Master)和从库(Slave)角色互换,通常在主库出现故障或计划内维护时使用。切换后,原从库变为新的主库,原主库可恢复为新从库或其他用途。以下是标准的主从切换操作方法。

1. 确保主从数据一致

在开始切换前,必须确认主从数据已完全同步,避免数据丢失。

登录从库执行:
SHOW SLAVE STATUS\G
检查以下两个字段是否为
Yes

Slave_IO_Running: Yes

Slave_SQL_Running: Yes
确认
Seconds_Behind_Master
为 0,表示无延迟。

2. 停止从库复制进程

在原从库(即将提升为主库)上停止复制:

STOP SLAVE;

如果需要保留复制信息以备后续恢复,可记录当前的主库二进制日志位置:

SHOW SLAVE STATUS\G

记下

Master_Log_File
Exec_Master_Log_Pos

3. 提升从库为新主库

执行:
RESET SLAVE ALL;

清除从库复制配置。
此时该数据库已成为独立的主库,可接受写入操作。

4. 配置原主库为新从库(可选)

若原主库恢复正常,可将其配置为新主库的从库:

在原主库启动 MySQL 并确保服务正常。 执行 CHANGE MASTER 指令指向新的主库:
CHANGE MASTER TO<br>
MASTER_HOST='new_master_ip',<br>
MASTER_USER='repl',<br>
MASTER_PASSWORD='repl_password',<br>
MASTER_LOG_FILE='mysql-bin.xxxxxx',<br>
MASTER_LOG_POS=xxxxxx;
启动复制:
START SLAVE;
SHOW SLAVE STATUS
验证状态是否正常。

5. 应用程序连接切换

修改应用程序的数据库连接配置,将写操作指向新的主库。建议使用中间件(如 ProxySQL、MaxScale)或 DNS 切换来降低影响。

注意事项

切换期间应暂停对原主库的写入,防止数据不一致。 确保所有节点开启
log-bin
server-id
唯一。
建议在低峰期操作,并提前备份关键数据。 GTID 模式下切换更简便,可通过
gtid_purged
gtid_executed
快速定位同步点。
基本上就这些。只要步骤清晰,主从切换并不复杂,但务必谨慎操作,避免误导致数据异常。

相关推荐