slave_exec_mode設定自動跳過同步複製錯誤
slave_exec_mode設定可以跳過1032(記錄沒有找到)和1062(主鍵重複)錯誤,並記錄到錯誤日誌中。
slave_exec_mode和slave_skip_errors作用是一樣的,只是slave_exec_mode可以線上動態設定。slave_skip_errors必須新增到配置檔案中,重啟生效。
備庫
mysql> select * from testdb1.student;
+------+------+-------+-------+
| id | name | class | score |
+------+------+-------+-------+
| 1 | a | 1 | 45 |
| 2 | b | 1 | 46 |
| 3 | c | 2 | 89 |
| 4 | d | 2 | 90 |
| 5 | e | 3 | 67 |
| 6 | f | 3 | 87 |
| 7 | g | 4 | 77 |
| 8 | h | 4 | 91 |
+------+------+-------+-------+
8 rows in set (0.00 sec)
mysql> delete from testdb1.student where id >5;
Query OK, 3 rows affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
#修改引數之前
主庫master
mysql> delete from testdb1.student where id >7;
Query OK, 1 row affected (0.00 sec)
備庫檢視狀態
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.56.91
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: ray-bin.000008
Read_Master_Log_Pos: 1272
Relay_Log_File: ray-relay-bin.000003
Relay_Log_Pos: 1226
Relay_Master_Log_File: ray-bin.000008
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1032
Last_Error: Could not execute Delete_rows event on table testdb1.student; Can't find record in 'student', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log ray-bin.000008, end_log_pos 1241
Skip_Counter: 0
Exec_Master_Log_Pos: 1065
Relay_Log_Space: 1957
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: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Delete_rows event on table testdb1.student; Can't find record in 'student', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log ray-bin.000008, end_log_pos 1241
Replicate_Ignore_Server_Ids:
Master_Server_Id: 2
Master_UUID: 840f94e0-8ea0-11e5-af92-080027a94012
Master_Info_File: /data/3307/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp: 151126 12:42:37
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
mysql> stop slave;
Query OK, 0 rows affected (0.78 sec)
mysql> set global sql_slave_skip_counter=1;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.33 sec)
#修改備庫引數
mysql> show variables like '%slave_exec_mode%';
+-----------------+--------+
| Variable_name | Value |
+-----------------+--------+
| slave_exec_mode | STRICT |
+-----------------+--------+
1 row in set (0.00 sec)
mysql> set global slave_exec_mode=idempotent;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%slave_exec_mode%';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| slave_exec_mode | IDEMPOTENT |
+-----------------+------------+
1 row in set (0.00 sec)
主庫刪除資料
mysql> delete from testdb1.student where id >6;
Query OK, 1 row affected (0.01 sec)
mysql> commit;
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: 192.168.56.91
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: ray-bin.000008
Read_Master_Log_Pos: 1479
Relay_Log_File: ray-relay-bin.000004
Relay_Log_Pos: 488
Relay_Master_Log_File: ray-bin.000008
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: 1479
Relay_Log_Space: 1972
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:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 2
Master_UUID: 840f94e0-8ea0-11e5-af92-080027a94012
Master_Info_File: /data/3307/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
[root@ray ~]# tail -20f /data/3307/data/mysql_ray.err
2015-11-26 12:50:29 12127 [Warning] Slave SQL: Could not execute Delete_rows event on table testdb1.student; Can't find record in 'student', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log ray-bin.000008, end_log_pos 1655, Error_code: 1032
注:pos可能對不上,因為擷取的問題,不必在意。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28572479/viewspace-2137213/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL複製跳過錯誤--slave_skip_errors、sql_slave_skip_counter、slave_exec_modeMySqlError
- MySQL 跳過同步錯誤MySql
- mysql多源複製跳過錯誤處理方法MySql
- mysql半同步複製的設定MySql
- mysql主從跳過錯誤MySql
- 阻止a標籤的跳轉,a標籤自動跳轉引起的錯誤
- 複製錯誤案例分享(一)
- 複製錯誤案例分享(二)
- mysql replication複製錯誤(zt)MySql
- 如何設定HTTP自動跳轉到HTTPSHTTP
- DG rman duplicate 複製庫錯誤
- 半同步複製報錯mysql8.0.25MySql
- 【同步複製常見錯誤處理3】找不到儲存的過程 sp_MSins_tablename
- MySQL的非同步複製和半同步複製MySql非同步
- maven 設定跳過測試Maven
- MySQL主從複製錯誤——列型別轉換錯誤MySql型別
- 寶塔 liunx redis 設定讀寫分離主從複製 + 哨兵自動值守Redis
- MySQL 8 複製(一)——非同步複製MySql非同步
- MySQL 8 複製(二)——半同步複製MySql
- MySQL 主從複製錯誤1837MySql
- MySQL GTID複製錯誤修復演示MySql
- SqlServer 主從複製錯誤分析--20598SQLServer
- MySQL5.7半同步複製報錯案例分析MySql
- tomcat設定http自動跳轉為https訪問TomcatHTTP
- MySQL主從複製、半同步複製和主主複製MySql
- MySQL主從複製之半同步複製MySql
- MySQL主從複製之非同步複製MySql非同步
- MySQL 半同步複製MySql
- MySQL半同步複製MySql
- 七、Spring Boot 錯誤處理原理 & 定製錯誤頁面Spring Boot
- Mysql自動處理同步報錯MySql
- mysql master-slave複製錯誤[解決事例]MySqlAST
- Centos系統伺服器設定時間自動同步!CentOS伺服器
- MySQL主從複製、半同步複製和主主複製概述MySql
- AnyRec Screen Recorder自動錄製時長設定教程
- css+js 設定網頁內容不可複製或可複製CSSJS網頁
- Postgresql 9.6 搭建 非同步流複製 和 同步流複製 詳細教程SQL非同步
- MySQL的主從複製、半同步複製、主主複製詳解MySql