- pt-slave-restart çè§ä¸ä¸ªæå¤ä¸ª MySQL å¤å¶çä»æ¯å¦æé误ï¼å¦æå¤å¶åæ¢ï¼åå°è¯éæ°å¯å¨å¤å¶ã
åºæ¬ä½¿ç¨è¯æ³ä¸ºï¼pt-slave-restart [OPTIONS] [DSN]
ä¸é¢å表ååºé¨åoptionsï¼æ´å 详ç»ç请使ç¨pt-slave-restart --helpè¿è¡æ¥ç
OPTIONSï¼
OPTIONS | çæä½ç¬¦ | ç±»å | é»è®¤å¼ | ç®è¦è¯´æ |
--always | å³ä½¿æ²¡æé误ä¹å¯å¨ä»ç« | |||
--ask-pass | è¿æ¥ MySQL æ¶æ示è¾å ¥å¯ç ã | |||
--[no]check-relay-log | å¨æ£æ¥ä»ç«é误ä¹åæ£æ¥æåä¸ä¸ªä¸ç»§æ¥å¿æ件åä½ç½® | |||
--daemonize | æ¾å¨åå°ä»¥å®æ¤è¿ç¨çå½¢å¼è¿è¡ | |||
--database | -D | s | è¿æ¥å°è¿ä¸ªæ°æ®åºã | |
--host | -h | s | è¿æ¥å°ä¸»æºã | |
--log | å®æ¤è¿ç¨æ¶å°ææè¾åºæå°å°æ¤æ件 | |||
--max-sleep | f | 64 | pt-slave-restart å¨å次轮询ä»è®¾å¤ä¹åå°ä¼ç çæé¿æ¶é´ | |
--min-sleep | f | 0.015625 | pt-slave-restart å¨å次轮询ä»è®¾å¤ä¹åå°ä¼ç çæçæ¶é´ | |
--monitor | æ¯å¦çæ§ä»æº | |||
--password | -p | è¿æ¥æ¶ä½¿ç¨çå¯ç ãå¦æå¯ç å å«éå·ï¼å®ä»¬å¿ é¡»ç¨åææ è½¬ä¹ | ||
--port | -P | i | ç¨äºè¿æ¥ç端å£å·ã | |
--recurse | i | çè§æå®æå¡å¨çä»æå¡å¨ï¼æå¤å¯è¾¾å±æ¬¡ç»ææ·±å¤çæå®æå¡å¨æ°éãé»è®¤ 0 表示âåªè§å¯æå®çä»âã | ||
--recursion-method | a | ç¨äºæ¥æ¾ä»ç«çé¦ééå½æ¹æ³,å¯è½çæ¹æ³æï¼Processlistï¼hostsï¼none | ||
--run-time | m | éåºåè¿è¡çæ¶é´ãå¨æå®çæ¶é´è¿å»ååæ¢ãå¯éåç¼ï¼s=ç§ï¼m=åéï¼h=å°æ¶ï¼d= 天ï¼å¦æ没æåç¼ï¼åä½¿ç¨ sã | ||
--sentinel | s | å¦ææ¤æ件åå¨ï¼åéåºãé»è®¤å¼ï¼ /tmp/pt-slave-restart-sentinel | ||
--slave-user | s | 设置ç¨äºè¿æ¥å°ä»çç¨æ· | ||
--slave-password | s | 设置ç¨äºè¿æ¥å°ä»ç«çå¯ç | ||
--skip-count | i | 1 | éæ°å¯å¨ä»ç«æ¶è¦è·³è¿çè¯å¥æ°ã | |
--master-uuid | s | ä½¿ç¨ GTID æ¶ï¼åºå建ä¸ä¸ªç©ºäºå¡ä»¥è·³è¿å® | ||
--socket | -S | ç¨äºè¿æ¥çå¥æ¥åæ件ã | ||
--stop | å建--sentinel æ件ï¼å¹¶åæ¢è¿è¡å®ä¾ | |||
--until-master | s | è¿è¡ç´å°è¿ä¸ªä¸»æ¥å¿æ件åä½ç½® | ||
--until-relay | s | è¿è¡ç´å°è¿ä¸ªä¸ç»§æ¥å¿æ件åä½ç½® | ||
--user | -u | å¦æä¸æ¯å½åç¨æ·ï¼åç¨äºç»å½çç¨æ·ã |
ç±»åå¤æ³¨ï¼s=string, i=integer, f=float, h/H/a/A=comma-separated list, d=DSN, z=size, m=time
DSN为è¦æä½çæ°æ®åºå表ã
DSNï¼
DSN | ç®è¦è¯´æ |
A | é»è®¤å符éã |
D | æ°æ®åºã |
F | ä» ä»ç»å®æ件ä¸è¯»åé»è®¤é项 |
h | è¿æ¥å°ä¸»æºã |
p | è¿æ¥æ¶ä½¿ç¨çå¯ç ãå¦æå¯ç å å«éå·ï¼å®ä»¬å¿ é¡»ç¨åææ è½¬ä¹ |
P | ç¨äºè¿æ¥ç端å£å·ã |
S | ç¨äºè¿æ¥çå¥æ¥åæ件ã |
u | å¦æä¸æ¯å½åç¨æ·ï¼åç¨äºç»å½çç¨æ·ã |
- åºæ¬ä½¿ç¨æ ·ä¾
- è·³è¿é误ï¼--skip-count ï¼
ç®åï¼ææ°æ®åºtestï¼åå¨å¦ä¸è¡¨t_goodsï¼
CREATE TABLE `t_goods` (
`goodid` int NOT NULL,
`goodname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`goodid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
表ä¸ææ°æ®å¦ä¸ï¼
1 çµè§
2 å°ç®±
å设ï¼æ们å¨Slaveä¸ï¼å æ§è¡å¦ä¸æå ¥SQLï¼
INSERT INTO t_goods VALUES(3,'ç¤ç®±');
å¨Masterä¸ï¼åæ§è¡å¦ä¸æå ¥SQLï¼
INSERT INTO t_goods VALUES(3,'ç¤ç®±');
INSERT INTO t_goods VALUES(4,'çµè');
INSERT INTO t_goods VALUES(5,'ææº');
åå¼å主ä»å¤å¶é误ï¼è¿éï¼æ们æ¯è¾æç¡®ç¥éé误åå ï¼åéè¦è·³è¿åçé误çè¯å¥å³å¯ï¼
pt-slave-restart h=192.168.246.136,u=root,p=Ygzlpaul*2022 --skip-count=1
æå°å¦ä¸ä¿¡æ¯ï¼
2022-11-19T23:32:29 h=192.168.246.136,p=...,u=root m_slave-relay-bin.000011 2871 1062
éªè¯Slaveç¶æï¼æ£å¸¸
2.2 è·³è¿GTID ï¼--master-uuid ï¼
模æåçé误å2.1ï¼åªæ¯è¿éå¼å¯äºGTID模å¼ï¼åï¼æ们éè¦æ¥ç并æ¾å°é误çGTIDå¼ï¼
8c17f5a5-55f6-11ed-a854-000c295b9532ï¼5
pt-slave-restart h=192.168.246.136,u=root,p=Ygzlpaul*2022 --master-uuid=8c17f5a5-55f6-11ed-a854-000c295b9532
注1ï¼ä¸é¢ä» ä» éè¦UUIDå¼ï¼èæ éTIDå¼
æå°å¦ä¸ä¿¡æ¯ï¼
2022-11-20T00:16:40 h=192.168.246.136,p=...,u=root m_slave-relay-bin.000002 1536 1062
éªè¯Slaveç¶æï¼æ£å¸¸
注2ï¼éè¦å¨Slaveä¸ï¼å æ§è¡å¦ä¸SQLï¼SET GLOBAL slave_parallel_workers=0
å¦åï¼ä¼æ¥åå¦ä¸é误ï¼
Cannot skip transactions properly because GTID is enabled and slave_parallel_workers > 0. See 'GLOBAL TRANSACTION IDS' in the tool's documentation.