💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
#### ### # 主库master宕机 ### 登录从库`show processlist`查看两个线程的更新状态 ``` mysql> show processlist\G *************************** 1. row *************************** Id: 6 User: rep Host: 192.168.0.200:45738 db: NULL Command: Binlog Dump Time: 102 State: Master has sent all binlog to slave; waiting for binlog to be updated Info: NULL *************************** 2. row *************************** Id: 7 User: root Host: localhost db: NULL Command: Query Time: 0 State: NULL Info: show processlist ``` ### 查看其它从库的`master.info`文件的同步情况 ``` # cat /usr/local/mysql/data/3307/data/master.info # cat /usr/local/mysql/data/3308/data/master.info 18 mysql-bin.000001 423 192.168.0.200 rep reppasswd 3306 60 0 0 1800.000 0 ``` 确保更新完毕,看看几个从库中那个最快,经过测试没有延迟的情况POS点差距很小,甚至是一致的。(确保从库和主库的一致性更高,数据丢失更少,选择将同步最快的提升为主库) 1. 确保所有`relay log`全部更新完毕 在每个从库执行 `stop slave io_thread;` `show processlist;`直到看到`Has read all relay log;`表示从库的更新都执行完毕。 2. 登录选定好的从库例端口3307 执行`stop slave;` 和 `reset master;` 3. 进入到选定的从库数据库端口3307文件目录删除`master.info` `relay-log.info`,检查授权表,`read-only`参数 4. 3307端口提升从库为主库 `vim /usr/local/mysql/data/3307/my.cnf` 开启`log-bin = /usr/local/mysql/data/3307/mysql-bin` **另外**:如果存在`log-slave-updates` `read-only`等参数一定要注释掉,然后重启mysql服务器。