Mysql Slave群切換Master
Mysql Slave群切換Master
作者:sky | 分類: 大話技術 | 標籤: 大話技術 | 日期:2008-03-03
測試環境:
Type OS Mysql
Master rhel3.5 5.1.22-rc-log
Slave1 rhel3.5 5.1.22-rc-log
Slave2 rhel4.4 5.1.22-rc-log
切換測試過程是:1) Master down
2) Slave1 切換成新的Master
3) Slave2 更換Master配置為原Slave2
詳細過程如下:
1、從slave(slave1)群眾中選定一個slave,準備錢換成master;
2、檢查slave1的複製狀態:
mysql> SHOW PROCESSLIST ;
+—-+————-+———–+——+———+————+———————————————————————–+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—-+————-+———–+——+———+————+———————————————————————–+——————+
| 1 | system user | | NULL | Connect | 54733 | Waiting for master to send event | NULL |
| 2 | system user | | NULL | Connect | 4294965772 | Has read all relay log; waiting for the slave I/O thread to update it | NULL |
| 8 | root | localhost | NULL | Query | 0 | NULL | SHOW PROCESSLIST |
+—-+————-+———–+——+———+————+———————————————————————–+——————+
這裡主要是檢測Slave1是否已經應用完從Master讀取過來的在relay log中的操作,如果未應用完不能stop slave,否則資料肯定會有丟失。
3、停止slave1的slave程式,並reset稱master:
mysql> STOP SLAVE ;
Query OK, 0 rows affected (0.00 sec)
mysql> RESET MASTER;
Query OK, 0 rows affected, 8 warnings (0.02 sec)
4、將slave 群中的其他slave(slave2)的Master切換成新的master(由原slave1reset成的):
1) 停slave程式:
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
2) 更換master:
mysql> CHANGE MASTER TO
-> MASTER_HOST=’10.0.65.106′,
-> MASTER_USER=’repl’,
-> MASTER_PASSWORD=’slavepass’
-> ;
Query OK, 0 rows affected (0.00 sec)
3) 開啟slave:
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
5、檢查slave的狀態:
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.0.65.106
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 106
Relay_Log_File: oindeve-relay-bin.000002
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 408
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)
6、最後變換實際資料監測新的複製是否能成功進行:
1) 在新的Master建立測試表:
mysql> create table t3 as select * from test;
Query OK, 100003 rows affected (0.11 sec)
Records: 100003 Duplicates: 0 Warnings: 0
mysql> show tables;
+—————-+
| Tables_in_test |
+—————-+
| t1 |
| t2 |
| t3 |
| test |
+—————-+
4 rows in set (0.00 sec)
mysql> select count(*) from t3;
+———-+
| count(*) |
+———-+
| 100003 |
+———-+
1 row in set (0.00 sec)
2) 在slave2上面看是否已經複製過去:
mysql> show tables;
+—————-+
| Tables_in_test |
+—————-+
| t1 |
| t2 |
| t3 |
| test |
+—————-+
4 rows in set (0.00 sec)
mysql> select count(*) from t3;
+———-+
| count(*) |
+———-+
| 100003 |
+———-+
1 row in set (0.00 sec)
7、到此確認複製正常,master切換完成。
注:整個切換測試過程時間較短,大家從每一步操作後面反饋的執行時間也可以看出,所需要的操作步驟也不太多。但是此測試並不是資料庫整體環境在提供服務的壓力環境下所測試進行的,該過程資料庫整體環境較為空閒,所以目前還不敢確保在壓力環境下也會如此的順利,等後面還會找機會在有應用壓力的情況下再測試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758322/viewspace-680472/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql Slave群切換Master (=)MySqlAST
- Mysql 5.6 Master和Slave 主備切換MySqlAST
- MySQL Master/Slave Master/MasterMySqlAST
- MySQL master/slaveMySqlAST
- MySql的Master/SlaveMySqlAST
- mysql master和slave配置MySqlAST
- mysql slave 轉為 masterMySqlAST
- MySQL 5.5 Master/Slave 配置MySqlAST
- mysql master slave 主從同步MySqlAST主從同步
- mysql 同步 master-slave薦MySqlAST
- MySQL master and slave have equal MySQL server UUIDsMySqlASTServerUI
- MySQL錯誤之mysql.slave_master_infoMySqlAST
- mysql建立master/slave詳細步驟MySqlAST
- 利用mysql slave 修復master MyISAM tableMySqlAST
- Redis master and slaveRedisAST
- GP standby切換成masterAST
- MYSQL的master/slave資料同步配置(轉)MySqlAST
- The slave I/O thread stops because master and slave have equal MySQL server UUIDthreadASTMySqlServerUI
- Mysql Master-slave複製簡單配置記錄MySqlAST
- mysql master-slave複製錯誤[解決事例]MySqlAST
- MYSQL5的master slave資料同步配置(轉)MySqlAST
- mysql slave 跟進 master 的關鍵狀態指標MySqlAST指標
- Mysqldump實現mysql的master-slave主從複製MySqlAST
- master and slave have equal MySQL server UUIDs問題解決ASTMySqlServerUI
- MySQL 5.5.x 配置Master-Slave主從複製MySqlAST
- Mongodb的master-slave模式與master-master模式實驗MongoDBAST模式
- Innobackupex實現mysql線上搭建master-slave主從複製MySqlAST
- MySQL報錯Slave: received end packet from server, apparent master shutdownMySqlServerAPPAST
- Linux環境下MySQL5.6Master-Slave配置實戰LinuxMySqlAST
- Jenkins : 安裝 master 和 slaveJenkinsAST
- 用mysqldump --master-data 建立slaveMySqlAST
- MYSQL5.7 MASTER-SLAVE 線上關閉和啟動GTIDMySqlAST
- MySQL主從切換MySql
- mysql5.6,master/slave架構,master,不寫bingo原因,無法開啟同步複製MySqlAST架構Go
- 【MySQL】【高可用】從masterha_master_switch工具簡單分析MHA的切換邏輯MySqlAST
- slave之Seconds_Behind_Master析AST
- 【Mysql】Slave_IO_Running: No---Got fatal error 1236 from masterMySqlGoErrorAST
- 手工切換MySQL主從MySql