MySQL主從復制是一種常見的高可用架構,主庫負責寫入,從庫負責讀取,當主庫宕機時,需要切換到從庫來保證系統的穩定運行。下面介紹具體的切換過程。
首先,需要確認主庫是否宕機。可以通過以下命令查詢主庫狀態:
SHOW SLAVE STATUS\G
如果主庫宕機,從庫狀態中的Slave_IO_Running
和Slave_SQL_Running
字段應該都是No
。此時需要將從庫提升為主庫。
步驟如下:
- 停止原從庫(即即將提升為主庫的機器)對主庫的復制:
- 重命名原主庫的MySQL數據目錄,例如:
- 更新原從庫的MySQL配置文件
my.cnf
,設置成為新的主庫: - 重啟MySQL服務:
- 重新啟動從庫復制:
STOP SLAVE
mv /data/mysql /data/mysql-bak
server-id = 1 log_bin = /var/lib/mysql/mysql-bin.log relay-log = /var/lib/mysql/relay-bin.log relay-log-index = /var/lib/mysql/relay-bin.index log_slave_updates read_only = 0
service mysqld restart
START SLAVE;
至此,從庫已經成功升級為了主庫,系統重新恢復了正常運行。
下一篇純css定義變量