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

主从切换需先确保数据一致,停止原从库复制并提升为新主库,再将原主库配置为从库并更新应用连接。

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

mysql主从切换是指将当前的主库(Master)和从库(Slave)角色互换,通常在主库出现故障或计划内维护时使用。切换后,原从库变为新的主库,原主库可恢复为新从库或其他用途。以下是标准的主从切换操作方法。

1. 确保主从数据一致

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

  • 登录从库执行:
    SHOW SLAVE STATUSG
  • 检查以下两个字段是否为 Yes
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
  • 确认 Seconds_Behind_Master 为 0,表示无延迟。

2. 停止从库复制进程

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

STOP SLAVE;

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

SHOW SLAVE STATUSG

记下 Master_Log_FileExec_Master_Log_Pos

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

LobeHub

LobeChat brings you the best user experience of ChatGPT, OLLaMA, Gemini, Claude

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

查看详情 mysql如何切换主从角色_mysql主从切换操作方法

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-binserver-id 唯一。
  • 建议在低峰期操作,并提前备份关键数据。
  • GTID 模式下切换更简便,可通过 gtid_purgedgtid_executed 快速定位同步点。

基本上就这些。只要步骤清晰,主从切换并不复杂,但务必谨慎操作,避免误导致数据异常。

上一篇
下一篇
text=ZqhQzanResources