處理MySQL複製環境Slave故障的一個案例
處理一則MySQL Slave環境出現ERROR 1201 (HY000): Could not initialize master info structure的案例。
冷備份方式複製一份新的slave,初始化引數中已經修改了相關檔案路徑及server_id等關聯引數。
但在啟動slave時發現error_log中出現下列錯誤資訊:
120326 11:10:23 [ERROR] /usr/local/mysql//libexec/mysqld: File '/data/mysqldata/3306/binlog/mysql-relay-bin.000002' not found (Errcode: 2)
120326 11:10:23 [ERROR] Failed to open log (file '/data/mysqldata/3306/binlog/mysql-relay-bin.000002', errno 2)
120326 11:10:23 [ERROR] Failed to open the relay log '/data/mysqldata/3306/binlog/mysql-relay-bin.000002' (relay_log_pos 126074557)
120326 11:10:23 [ERROR] Could not open log file
120326 11:10:23 [ERROR] Failed to initialize the master info structure
由於新的slave改變了服務埠和檔案路徑,分析應該是由於mysql-relay-bin.index中仍然儲存著舊relay日誌檔案的路徑,而這些路徑下又找不到合適的檔案,因此報錯。
對於這類問題解決起來是比較簡單的,重置slave的參照即可,執行命令如下:
mysql> reset slave;
Query OK, 0 rows affected (0.01 sec)
mysql> change master to
-> master_host='10.0.0.101',
-> master_port=3306,
-> master_user='repl',
-> master_password='repl',
-> master_log_file='mysql-bin.000011',
-> master_log_pos=1;
ERROR 29 (HY000): File '/data/mysqldata/3306/binlog/mysql-relay-bin.000001' not found (Errcode: 2)
看來應該還是mysql-relay-bin.index的問題,刪除該檔案及關聯的relay-bin檔案。再次配置master:
mysql> change master to
-> master_host='10.0.0.101',
-> master_port=3306,
-> master_user='repl',
-> master_password='repl',
-> master_log_file='mysql-bin.000011',
-> master_log_pos=1;
ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log
出現了新的錯誤,按照提示檢視error_log也沒發現更多錯誤資訊,error_log中只是顯示一條:
120326 11:14:27 [ERROR] Error reading master configuration
在作業系統端檢視master/slave的配置檔案,發現是兩個0位元組檔案:
-rw-rw---- 1 mysql mysql 0 Mar 26 11:13 master.info
-rw-rw---- 1 mysql mysql 0 Mar 26 11:13 relay-log.info
會不會是這個原因呢,直接刪除這兩個檔案,然後嘗試重新執行change master:
mysql> change master to
-> master_host='10.0.0.101',
-> master_port=3306,
-> master_user='repl',
-> master_password='repl',
-> master_log_file='mysql-bin.000011',
-> master_log_pos=1;
Query OK, 0 rows affected (0.00 sec)
成功,啟動slave並檢視狀態:
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.0.0.101
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000011
Read_Master_Log_Pos: 101
...........
故障解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-719707/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 處理mysql複製故障一例薦MySql
- mysql複製報錯案例處理MySql
- MySQL 常見同步複製故障處理方法MySql
- 專案02(Mysql gtid複製故障處理01)MySql
- MySQL SLAVE故障一例MySql
- 故障分析 | MySQL 異地從庫複製延遲案例一則MySql
- MySQL搭建帶過濾的複製環境MySql
- 生產環境搭建MySQL複製的教程MySql
- Windows 環境下,MySQL 的主從複製和主主複製WindowsMySql
- windows環境下,Mysql的主從複製和主主複製WindowsMySql
- 【MySQL】Server-id導致Slave_IO_Running: No主從複製故障MySqlServer
- MYSQL 配置slave故障MySql
- 生產環境中MySQL複製的搭建KPMySql
- MySQL 5.5使用Xtrabackup線上搭建複製環境MySql
- MySQL複製環境Slave報錯"Got fatal error 1236 from master when reading data"MySqlGoErrorAST
- MySQL複製命令slave被REPLICA命令取代MySql
- MySQL Slave異常關機的處理 (pt-slave-restart)MySqlREST
- Mysql slave 延遲故障一列MySql
- MySQL Slave異常關機的處理MySql
- MySQL 5.7 使用GTID方式搭建複製環境MySql
- 測試環境控制檔案被誤刪的故障處理
- 故障分析 | MySQL 相同 SQL 不同環境執行時間不一樣案例分析MySql
- 一次生產環境的docker MySQL故障DockerMySql
- Mysqldump實現mysql的master-slave主從複製MySqlAST
- mysql 資料表的複製案例MySql
- STREAMS筆記(1) step by step 建立一個Streams複製環境筆記
- kkjcre1p: unable to spawn jobq slave process故障處理
- 處理MySQL資料庫出現大量Locked的一個案例MySql資料庫
- MySQL show processlist故障處理MySql
- Mysql故障處理2則MySql
- 1.MongoDB 2.7主從複製(master –> slave)環境基於時間點的恢復MongoDBAST
- Data guard archive GAP 故障處理案例Hive
- mysql複製故障診斷與排除MySql
- 主從故障處理--session 級別引數複製錯誤Session
- Mysql Master-slave複製簡單配置記錄MySqlAST
- mysql master-slave複製錯誤[解決事例]MySqlAST
- MySQL雙主複製環境中BINLOG日誌的解析~MySql
- 【故障處理】DBCA建庫詭異問題處理--rac環境不能建立rac庫