成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > MySQL中slave_exec_mode參數(shù)詳解

MySQL中slave_exec_mode參數(shù)詳解

熱門標(biāo)簽:甘孜電話機(jī)器人廠家 哈爾濱crm外呼系統(tǒng)價格 凱立德科技館地圖標(biāo)注 做地圖標(biāo)注都需要什么工具 西安400電話在哪里辦理 銀川電銷外呼系統(tǒng)定制 中科嘉智人工智能電銷機(jī)器人 電銷機(jī)器人好品牌門薩維l 上海智能外呼系統(tǒng)需要多少錢

今天無意當(dāng)中看到參數(shù)slave_exec_mode,從手冊里的說明看出該參數(shù)和MySQL復(fù)制相關(guān),是可以動態(tài)修改的變量,默認(rèn)是STRICT模式(嚴(yán)格模式),可選值有IDEMPOTENT模式(冪等模式)。設(shè)置成IDEMPOTENT模式可以讓從庫避免1032(從庫上不存在的鍵)和1062(重復(fù)鍵,需要存在主鍵或則唯一鍵)的錯誤,該模式只有在ROW EVENT的binlog模式下生效,在STATEMENT EVENT的binlog模式下無效。IDEMPOTENT模式主要用于多主復(fù)制和NDB CLUSTER的情況下,其他情況不建議使用。從上面的介紹來看,這個參數(shù)的讓從庫跳過指定的錯誤,那問題來了:

1:和 sql_slave_skip_counter 比,有什么好處?

2:和 slave-skip-errors = N比,有什么好處?

帶著這2個問題,本文來進(jìn)行相關(guān)的測試和說明。 

環(huán)境:

MySQL版本:Percona MySQL 5.7

復(fù)制模式:ROW,沒有開啟GTID

測試:

① 1062 錯誤:Could not execute ... event on table db.x; Duplicate entry 'xx' for key 'PRIMARY', Error_code: 1062;

主從上的測試表結(jié)構(gòu):

CREATE TABLE `x` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

主從上的表記錄:

M:

select * from x;
+----+
| id |
+----+
| 2 |
| 3 |
+----+
2 rows in set (0.01 sec)

S:

select * from x;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
+----+
3 rows in set (0.00 sec)

主從上的表記錄本來就不一致了,主上缺少了id=1的記錄。

此時從上的slave_exec_mode為默認(rèn)的STRICT模式:

show variables like 'slave_exec_mode';
+-----------------+--------+
| Variable_name  | Value |
+-----------------+--------+
| slave_exec_mode | STRICT |
+-----------------+--------+
1 row in set (0.00 sec) 

M上的binlog模式為:

show variables like 'binlog_format';                                                      +---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW  |
+---------------+-------+
1 row in set (0.00 sec)

在M上執(zhí)行:

insert into x values(1),(4),(5);
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

因?yàn)閺纳弦呀?jīng)存在了id=1的記錄,此時從的復(fù)制就報了1062的錯誤:

Last_SQL_Errno: 1062
Last_SQL_Error: Could not execute Write_rows event on table dba_test.x; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin-3306.000006, end_log_pos 7124

出現(xiàn)這個錯誤時,大家的一致做法就是執(zhí)行:sql_slave_skip_counter=N。

1、set global sql_slave_skip_counter=N中的N是指跳過N個event
2、最好記的是N被設(shè)置為1時,效果跳過下一個事務(wù)。
3、跳過第N個event后,位置若剛好落在一個事務(wù)內(nèi)部,則會跳過這整個事務(wù)
4、一個insert/update/delete不一定只對應(yīng)一個event,由引擎和日志格式?jīng)Q定

sql_slave_skip_counter的單位是“event”,很多人認(rèn)為該參數(shù)的單位是“事務(wù)”,其實(shí)是錯誤的,因?yàn)橐粋€事務(wù)里包含了多個event,跳過N個可能還是在同一個事務(wù)當(dāng)中。對于上面出現(xiàn)1062的錯誤,把N設(shè)置成1~4效果是一樣的,都是跳過一個事務(wù)。因?yàn)閳?zhí)行的SQL生成了4個event:

show binlog events in 'mysql-bin-3306.000006' from 6950;
+-----------------------+------+------------+-----------+-------------+---------------------------------+
| Log_name       | Pos | Event_type | Server_id | End_log_pos | Info              |
+-----------------------+------+------------+-----------+-------------+---------------------------------+
| mysql-bin-3306.000006 | 6950 | Query   |    169 |    7026 | BEGIN              |
| mysql-bin-3306.000006 | 7026 | Table_map |    169 |    7074 | table_id: 707 (dba_test.x)   |
| mysql-bin-3306.000006 | 7074 | Write_rows |    169 |    7124 | table_id: 707 flags: STMT_END_F |
| mysql-bin-3306.000006 | 7124 | Xid    |    169 |    7155 | COMMIT /* xid=74803 */     |
+-----------------------+------+------------+-----------+-------------+---------------------------------+
4 rows in set (0.00 sec)

所以處理該錯誤的方法有:

1:skip_slavesql_slave_skip_counter

stop slave;                                                                   Query OK, 0 rows affected (0.00 sec)
set global sql_slave_skip_counter=[1-4];
Query OK, 0 rows affected (0.00 sec)
start slave;
Query OK, 0 rows affected (0.00 sec)

2:在配置文件里指定slave-skip-errors=1062(需要重啟)

這2種方法都能讓復(fù)制恢復(fù)正常,但是會讓主從數(shù)據(jù)不一致(謹(jǐn)慎使用),讓從庫丟失了id=4和5的記錄。并且第2種方法還需要重啟數(shù)據(jù)庫,這時本文介紹的slave_exec_mode參數(shù)就派上用場了。在從庫上設(shè)置該參數(shù):

set global slave_exec_mode='IDEMPOTENT';
Query OK, 0 rows affected (0.00 sec)
stop slave;                                                                   Query OK, 0 rows affected (0.00 sec)
start slave;
Query OK, 0 rows affected (0.00 sec)

同樣在主上執(zhí)行:

insert into x values(1),(4),(5);

可以驚喜的發(fā)現(xiàn)主從數(shù)據(jù)是同步的,沒有出現(xiàn)復(fù)制異常:

M:
select * from x;                                                                +----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+----+
5 rows in set (0.00 sec)

S:
select * from x;                                                                +----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+----+
5 rows in set (0.01 sec)

上面的測試可以看到,參數(shù)設(shè)置成slave_exec_mode='IDEMPOTENT' 后,可以跳過出一個錯誤的event。

② 1032錯誤:Could not execute ... event on table db.x; Can't find record in 'x', Error_code: 1032;

這個錯誤的出現(xiàn)是因?yàn)镽OW模式下的復(fù)制,對數(shù)據(jù)的一致性有了很嚴(yán)的要求

主從上的測試表結(jié)構(gòu):

CREATE TABLE `x` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

主從上的表記錄:

M:

select * from x;                                                                +----+
| id |
+----+
| 1 |
| 2 |
| 3 |
+----+
3 rows in set (0.00 sec)

S:

select * from x;
+----+
| id |
+----+
| 1 |
| 3 |
+----+
2 rows in set (0.00 sec)

主從上的表記錄本來就不一致了,從上缺少了id=2的記錄。此時從上的slave_exec_mode為默認(rèn)的STRICT模式:

show variables like 'slave_exec_mode';
+-----------------+--------+
| Variable_name  | Value |
+-----------------+--------+
| slave_exec_mode | STRICT |
+-----------------+--------+
1 row in set (0.00 sec) 

M上的binlog模式為:

show variables like 'binlog_format';                                                      +---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW  |
+---------------+-------+
1 row in set (0.00 sec)

在M上執(zhí)行:

BEGIN;
INSERT INTO x SELECT 4;
DELETE FROM x WHERE id = 2;
INSERT INTO x SELECT 5;
COMMIT;

因?yàn)閺纳喜淮嬖诹薸d=2的記錄,此時從的復(fù)制就報了1032的錯誤:

Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Delete_rows event on table dba_test.x; Can't find record in 'x', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin-3306.000006, end_log_pos 12102

同樣的,在上面測試中說明的2種方法可以讓復(fù)制正常,但是數(shù)據(jù)也一樣會丟失。丟失了id=4和5的記錄,繼續(xù)在從庫上設(shè)置該參數(shù):

set global slave_exec_mode='IDEMPOTENT';
Query OK, 0 rows affected (0.00 sec)
stop slave;                                                                   Query OK, 0 rows affected (0.00 sec)
start slave;
Query OK, 0 rows affected (0.00 sec)

在M上執(zhí)行同樣的操作:

BEGIN;
INSERT INTO x SELECT 4;
DELETE FROM x WHERE id = 2;
INSERT INTO x SELECT 5;
COMMIT;

也可以驚喜的發(fā)現(xiàn)主從數(shù)據(jù)是同步的,沒有出現(xiàn)復(fù)制異常。

注意:slave_exec_mode='IDEMPOTENT'不能對DDL操作冪等,并且也不能對字段長度不同導(dǎo)致的錯誤進(jìn)行冪等,如把例子中的從庫表的id字段類型int改成bigint。并且只能在binlog_format為ROW的模式下使用,而且只能對1032和1062進(jìn)行冪等模式。

總結(jié):

對于上面的測試總結(jié),針對slave_exec_mode參數(shù),它可以跳過1062和1032的錯誤,并且不影響同一個事務(wù)中正常的數(shù)據(jù)執(zhí)行。如果是多個SQL組成的事務(wù),則可以跳過有問題的event。

看著這個參數(shù)很不錯,但手冊上說明不建議在普通的復(fù)制環(huán)境中開啟。對于NDB以外的存儲引擎,只有在確定可以安全地忽略重復(fù)鍵錯誤和沒有鍵的錯誤時,才應(yīng)使用IDEMPOTENT模式。這參數(shù)是專門針對NBD Cluster進(jìn)行設(shè)計的,NBD Cluster模式下,該參數(shù)只能設(shè)置成IDEMPOTENT模式。所以要根據(jù)自己的應(yīng)用場景來決定,正常情況下,主從是一致的,有任何錯誤發(fā)生都要報錯,不過在做特殊處理時,可以臨時開啟。

另外在GTID模式下的復(fù)制,sql_slave_skip_counter是不支持的,該模式下的復(fù)制可以自行測試。

您可能感興趣的文章:
  • mysql同步問題之Slave延遲很大優(yōu)化方法
  • 解決MySQL中的Slave延遲問題的基本教程
  • MySQL中slave監(jiān)控的延遲情況分析
  • mysql 主從數(shù)據(jù)不一致,提示: Slave_SQL_Running: No 的解決方法
  • 記一次MySQL Slave庫恢復(fù)實(shí)戰(zhàn)記錄
  • Mysql主從數(shù)據(jù)庫(Master/Slave)同步配置與常見錯誤
  • MySQL5.6 數(shù)據(jù)庫主從同步安裝與配置詳解(Master/Slave)
  • MySQL Slave 觸發(fā) oom-killer解決方法
  • MySQL slave 延遲一列 外鍵檢查和自增加鎖

標(biāo)簽:浙江 平頂山 四川 濮陽 安康 安徽 山南 那曲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL中slave_exec_mode參數(shù)詳解》,本文關(guān)鍵詞  MySQL,中,slave,exec,mode,參數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL中slave_exec_mode參數(shù)詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL中slave_exec_mode參數(shù)詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    中文字幕日韩欧美在线视频| 欧美日韩国产探花| 久久99久久99精品免观看软件| 在线日韩三级| 欧美一区二区不卡视频| 91免费版在线看| 亚洲视频在线观看日本a| 亚洲香蕉久久| 男人的天堂狠狠干| 日韩一区二区影院| 国产综合在线观看| 少妇激情av一区二区| 九色91国产| 欧美三级情趣内衣| 国产后进白嫩翘臀在线观看视频| 国产v亚洲v天堂无码| 黄瓜视频在线免费观看| 国产亲近乱来精品视频| 日韩黄色中文字幕| 肉色欧美久久久久久久免费看| 亚洲欧洲午夜| 欧美 日韩 国产 激情| 在线综合欧美| 中文字幕一区二区视频| 99久久精品免费看| 精品一区二区三区视频日产| 亚洲三级 欧美三级| 久久精品影视伊人网| 热re99久久精品国产99热| 成人免费视频免费观看| 日韩三级视频在线| 欧美三级欧美成人高清www| 欧美h视频在线| 26uuu亚洲电影| 高清免费日韩| 天堂8在线天堂资源bt| 国产精品二区一区二区aⅴ| 成人天堂yy6080亚洲高清| 午夜一级电影| 日本不卡免费高清视频在线| 乱码第一页成人| 一级黄色大片免费| 狠狠躁夜夜躁人人爽视频| 国产精品50p| 欧美久久精品午夜青青大伊人| 玖玖在线精品| 99久久人妻无码中文字幕系列| 国产精品swag| 国产在线黄色片| 国产最新视频在线观看| 久久青青色综合| 日韩精品二区| 色一情一交一乱一区二区三区| 5252色成人免费视频| 欧美日韩午夜视频在线观看| 国产经典自拍视频在线观看| 亚洲视频精选在线| 天天操 夜夜操| 国模一区二区三区白浆| 日韩小视频网站| 精品欧美激情在线观看| 黄色成人av在线| 毛片免费在线播放| 在线黄色免费看| 色香色香欲天天天影视综合网| 国产成人精品毛片| 欧美日韩午夜在线| 怡红院视频网站| 亚洲网一区二区三区| 国产成人麻豆免费观看| 看亚洲a级一级毛片| 美日韩黄色大片| 青青草娱乐视频| 欧美日韩中文国产一区发布| 亚洲人午夜射精精品日韩| 91国产精品视频在线| 日韩和欧美的一区| 91在线视频精品| 无国产精品白浆免费视| 欧美剧情电影在线观看完整版免费励志电影| 激情亚洲综合网| 一区二区三区入口| 91福利区一区二区三区| 黄色在线视频网址| 欧美视频在线免费| 亚洲网在线观看| 在线播放亚洲精品| 热久久中文字幕| 国产一区二区三区高清播放| 在线看av网址| 国产激情视频在线看| 男人c女人视频| 亚洲性受xxx喷奶水| 精品国产91久久久久久浪潮蜜月| 日韩精品视频在线看| 羞羞视频立即看| 亚洲黄色有码视频| 欧美午夜影院在线视频| 国产成人在线网址| 国产精品av久久久久久麻豆网| 中文字幕亚洲欧美日韩| 精品伦精品一区二区三区视频密桃| 成人综合在线网站| 色综合久久综合网97色综合| 九七伦理97伦理| 久久婷五月综合| 九色丨porny丨| 韩国av免费在线观看| 欧美久久久久免费| 亚洲欧美日本韩国| 雨宫琴音一区二区在线| 日本视频在线| 国产精品人人妻人人爽人人牛| 亚洲欧洲色图综合| 91日韩在线视频| 专区另类欧美日韩| 无码人妻精品一区二区三| 18+视频在线观看| 中文字幕+乱码+中文字幕明步| 丝瓜app色版网站观看| 日韩脚交footjobhdboots| 麻豆久久一区二区| 亚洲女同在线| 在线观看www91| 欧美高清成人| 性网站在线观看| 91嫩草|国产丨精品入口| 亚洲区精品久久一区二区三区| 亚洲尤物在线视频| 国产成人精品免费视频网站| xxx国产hd| 中文字幕在线1| 97se亚洲国产综合自在线不卡| 久热在线观看视频| freehdxxxx| 国产亚洲精品日韩| 久热精品视频在线免费观看| 久久久久av| 亚洲色图视频免费播放| 亚洲色图影院| 伊人久久一区二区| 亚洲精品www.| 亚洲xxxxx| 欧美mv日韩mv| 亚洲自拍偷拍网址| 久草综合在线视频| 色狠狠一区二区三区| 欧美视频xxxx| 国产精品一区二三区| www欧美激情| 韩国成人精品a∨在线观看| 麻豆tv在线播放| 欧洲视频一区二区| 五十路亲子中出中文字幕| 97人妻精品一区二区三区软件| 国产欧美日韩在线看| 91午夜精品亚洲一区二区三区| 国产日韩一区欧美| 成人中文字幕+乱码+中文字幕| 奇米777四色影视在线看| 日本一级在线观看| 麻豆影视在线播放| 亚洲国产一区二区三区高清| 亚洲欧美校园春色| 97色婷婷成人综合在线观看| 蜜桃伊人久久| 国产一区久久| 欧美激情资源网| 这里只有精品免费视频| 亚洲精品国产美女| 午夜亚洲伦理| 免费看日本黄色| 中文字幕在线官网| 亚洲精品自拍网| 国产理论片在线观看| 日韩在线第二页| 91九色在线播放| 欧美少妇xxx| 麻豆精品传媒视频观看| 日韩中文字幕a| 精品乱色一区二区中文字幕| 激情成人中文字幕| 亚洲自拍偷拍综合| www.日本久久久久com.| 在线观看一区二区三区视频| 99国产精品免费| 91免费国产视频| 亚洲 国产 日韩 综合一区| 日韩一区在线播放| 日韩高清二区| 久久久国产精品视频| 色综合久久天天| 精品日本视频| 中文字幕在线看| av影片在线播放| 18成人在线观看| 97人人爽人人爽人人爽| 欧美成人一品| 成人性生交大片免费观看嘿嘿视频| av中文网站| 久草在线中文最新视频| 天天夜夜人人| 777影院狠狠色| 日韩精品一区二区三区av| 日韩毛片在线看| 一区二区日韩欧美| 中文字幕一区不卡| 日本中文字幕在线2020| 欧美激情一区在线| 亚洲欧美日韩精品一区二区| 2020国产精品久久精品美国| 日韩精品视频免费播放| 黑人巨大40cm重口| 暧暧视频免费| 狠狠色综合色区| 国产三级欧美三级日产三级99| av中文字幕一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了中文| 免费视频久久久| 国产精品久久久久久久久鸭| 老司机午夜免费福利视频| 精品一区二区三区四区五区六区| 久久久综合色| 伊人网在线观看| www.日韩av.com| 久久综合色婷婷| 老司机精品视频在线观看6| 天堂av2024| 日本19禁啪啪吃奶大尺度| 国产精品欧美久久久久天天影视| 欧美午夜xxx| 日韩av三级在线| 中文字幕无线精品亚洲乱码一区| 日韩免费高清一区二区| 亚洲一区二区精品3399| 国产精品色午夜在线观看| 日本人妻伦在线中文字幕| 国产一区二区美女视频| 亚洲小说欧美另类社区| 欧美军同video69gay| 爱情岛论坛亚洲品质自拍视频网站| 亚洲免费在线电影| av在线www| 中文国产亚洲喷潮| 黄色片视频在线播放| 精品美女在线观看视频在线观看| 国产一线二线在线观看| 18成人免费观看网站下载| 国产视频在线视频| 国产免费一区二区三区免费视频| 久久国产免费视频| 亚洲国产成人精品无码区99| 精品久久久久av| 国产脚交av在线一区二区| 国产成人精品国内自产拍免费看| 18free性欧美另类hd| 亚洲同性同志一二三专区| 日韩欧美视频一区二区三区四区| 艳妇乳肉豪妇荡乳xxx| 色婷婷综合久久久久中文| 美女张开让男人捅| 拔插拔插海外华人免费| 26uuu亚洲电影在线观看| 精品国产99国产精品| 91官网在线免费观看| 亚洲精品在线观看av| 大杳蕉精品视频在线观看| 日韩经典一区二区| 夜夜嗨aⅴ一区二区三区| 99久热这里只有精品视频免费观看| 欧美乱大交xxxxx| 亚洲欧美在线免费观看| 三级av网站| 在线观看网站黄不卡| 九九在线观看视频| 亚洲图片小说区| 中文字幕21页在线看| 精品一区二区在线观看视频| 亚洲欧美一区二区三区情侣bbw| 欧美性资源免费| 国产黄色一级网站| 欧美xxxx吸乳| 69av一区二区三区| 91麻豆精品国产综合久久久久久| 国产精品自拍视频| 人人澡人人添人人爽一区二区| 激情美女网站| 亚洲一区亚洲二区| 国产四区在线观看| 日韩理论片网站| japanesexxxxfree在线观看| 狠狠操五月天| 国内揄拍国内精品久久| 日本三级视频在线| eeuss影院eeuss最新直达| 综合色婷婷一区二区亚洲欧美国产| 亚洲成熟丰满熟妇高潮xxxxx| 在线视频中文字幕| 欧美亚洲另类激情另类| 日本一区精品视频| 久久精品99久久久香蕉| 蜜臂av日日欢夜夜爽一区| 韩国无码一区二区三区精品| 91精品国产一区| 国产伦精品一区二区三区免费优势| 桃乃木かなav在线播放| 亚洲成年网站在线观看| wwwwww99| 黑巨人与欧美精品一区| 欧美一二三四五区| 日本三级免费观看| 19禁羞羞电影院在线观看| 精品亚洲a∨一区二区三区18| 成人系列视频| 自拍欧美一区| 秋霞影视一区二区三区| 国产亚洲第一区| 精品国产乱码久久久久久婷婷| 丰满肉嫩西川结衣av| 99riav久久精品riav| 2021中文字幕一区亚洲| jizzjizz少妇亚洲水多| 欧美韩日一区二区三区四区| 国产伦精品一区二区三毛| 538国产精品视频一区二区| 国产精品亚洲天堂| 亚洲色图38p| 69成人免费视频|