#### ### # 主庫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服務器。
- 寫在前面
- MySQL的使用
- MySQL多表同時刪除方案
- MySQL跨表、多表更新SQL語句總結
- MySQL存儲引擎
- 安裝
- 常規方式編譯安裝MySQL
- 采用cmake方式編譯安裝MySQL
- 使用rpm包安裝MySQL
- 使用yum方式安裝MySQL
- 采用二進制方式免編譯安裝MySQL
- 多實例的安裝
- 什么是多實例
- 多實例的作用、問題以及應用場景
- 多實例安裝01【推薦】
- 多實例官方安裝方案02
- 啟動、用戶和權限管理
- 單實例MySQL的啟動和關閉的方法
- 設置及修改MySQL root用戶密碼
- 找回丟失的MySQL root用戶密碼
- 創建MySQL用戶及用戶權限管理
- 基礎命令的操作
- MySQL庫和表相關操作
- MySQL中的索引操作
- MySQL常用命令
- MySQL的錯誤代碼
- MySQL復習秘籍
- 備份與恢復
- 備份
- 恢復
- mysqlbinlog命令
- 服務日志
- 主從復制
- 主從復制部署配置問題匯總
- 主從復制讀寫分離
- 災難恢復
- 配置phpmyadmin連接多實例MySQL
- 其他相關
- Sphinx實驗
- 中文分詞技術
- MySQL語句大全
- 用戶創建、權限、刪除
- 數據庫與表顯示、創建、刪除
- 表復制及備份還原
- 數據庫表中數據操作
- 修改表的列與表名
- 修改表中的數據
- 查詢表
- 日志
- 批量修改Mysql表引擎為InnoDB的方法
- 數據庫抽象層 PDO
- PDO對象常用方法
- PDO 事務處理
- PDO 與 MySQLi 二者效率簡單比較
- 大小寫敏感性 lower_case_table_names
- CentOS7安裝MySQL5.7密碼查看與修改