處理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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 專案02(Mysql gtid複製故障處理01)MySql
- MySQL主從複製環境部署MySql
- 故障分析 | MySQL 異地從庫複製延遲案例一則MySql
- Windows 環境下,MySQL 的主從複製和主主複製WindowsMySql
- windows環境下,Mysql的主從複製和主主複製WindowsMySql
- MySQL複製命令slave被REPLICA命令取代MySql
- 生產環境中MySQL複製的搭建KPMySql
- 生產環境故障處理演練-mysql資料庫主從恢復MySql資料庫
- Mysqldump實現mysql的master-slave主從複製MySqlAST
- 故障分析 | MySQL 相同 SQL 不同環境執行時間不一樣案例分析MySql
- 一次生產環境的docker MySQL故障DockerMySql
- MySQL show processlist故障處理MySql
- Mysql Master-slave複製簡單配置記錄MySqlAST
- 1.MongoDB 2.7主從複製(master –> slave)環境基於時間點的恢復MongoDBAST
- MySQL複製跳過錯誤--slave_skip_errors、sql_slave_skip_counter、slave_exec_modeMySqlError
- mysql 資料表的複製案例MySql
- MySQL 組複製故障恢復的有效策略MySql
- 一個案例入門補環境
- MySQL主從複製配置引數 -- logs-slave-updatesMySql
- 故障案例:主從同步報錯Fatal error: The slave I/O thread stops because master and slave have equal MySQL server主從同步ErrorthreadASTMySqlServer
- MySQL主從複製中的“show slave status”詳細含義MySql
- Mac環境下MySQL無法啟動的處理方法MacMySql
- Pytorch複製現有環境PyTorch
- MySQL 複製全解析 Part 1 實驗環境介紹MySql
- mysql多源複製跳過錯誤處理方法MySql
- MySQL主從複製延遲原因及處理思路MySql
- 故障案例:MySQL唯一索引有重複值,官方卻說This is not a bugMySql索引
- 記一次一波三折的Mysql故障處理MySql
- Redis 實戰 —— 07. 複製、處理故障、事務及效能優化Redis優化
- Innobackupex實現mysql線上搭建master-slave主從複製MySqlAST
- 程式環境和預處理
- 故障分析 | MySQL : slave_compressed_protocol 導致 crashMySqlProtocol
- MySQL 8 複製(一)——非同步複製MySql非同步
- MySQL 處理重複資料MySql
- PHP+MySQL 千萬級資料處理案例(一)PHPMySql
- 【故障處理】佇列等待之enq: US - contention案例佇列ENQ
- 故障處理】佇列等待之enq: US - contention案例佇列ENQ
- MySQL中處理各種重複的一些方法MySql
- MySQL 網路導致的複製報錯案例MySql