91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中如何使用pt-table-checksum和pt-table-sync

發布時間:2021-11-06 11:42:27 來源:億速云 閱讀:111 作者:小新 欄目:MySQL數據庫

這篇文章給大家分享的是有關mysql中如何使用pt-table-checksum和pt-table-sync的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

pt-table-checksum和pt-table-sync是percona-toolkit工具中的功能,用來檢測主從數據一致性和修復主從不一致。

下面通過一組實驗學習這兩個功能的使用

1、主庫創建表并插入數據

CREATE TABLE `NewTable` (

`id`  int(8) NULL ,

`name`  varchar(32) NULL ,

PRIMARY KEY (`id`)

) ;

insert into newtable values(1,'leo');

insert into newtable values(2,'mike');

insert into newtable values(3,'jack');

2、從庫執行下面語句,讓主從不一致

insert into newtable values(4,'lucy');

insert into newtable values(5,'petter');

update newtable set name='john' where id =1

3、測試數據如下

主庫:

mysql> select * from test.newtable;

+----+------+

| id | name |

+----+------+

|  1 | leo  |

|  2 | mike |

|  3 | jack |

+----+------+

3 rows in set (0.00 sec)

從庫:

mysql> select * from test.newtable;

+----+--------+

| id | name   |

+----+--------+

|  1 | john   |

|  2 | mike   |

|  3 | jack   |

|  4 | lucy   |

|  5 | petter |

+----+--------+

5 rows in set (0.00 sec)

4、pt-table-checksum參數介紹、使用

--port=              主庫端口

--host=              主庫IP

--databases=      校驗的數據庫

--tables=            校驗 的表名,只指定數據庫不指定表名,校驗數據庫下所有表

--user=               用戶名(該用戶在從庫上也要有,同時需要權限)

--password=       用戶密碼

--replicate           指定checksum存儲的庫和表

--no-check-binlog-format      忽略binlog的格式,如果binlog是ROW或者MIXED不加這個參數都會報錯

--no-check-replication-filters  忽略復制過濾,如binlog_ignore_db、slave-skip-errors等選項

--help                  更多更詳細的參數請見--help幫助文檔

校驗:

[root@trcloud ~]# pt-table-checksum --port=3306 --host=192.168.129.15 --databases=test --tables=newtable --user=root --password='123456' --replicate=test.check --no-check-binlog-format --no-check-replication-filters

            TS          ERRORS  DIFFS     ROWS  CHUNKS SKIPPED    TIME    TABLE

12-13T13:44:07      0           1           3             1           0            0.059  test.newtable

注:檢查的時候會向表加S鎖

TS:         完成的檢查時間

ERRORS:檢查時候發生的錯誤和告警數量

DIFFS:       0表示一致,1表示不一致

ROWS:    表行數

CHUNKS:被劃分到表中的塊數量

SKIPPED: 由于錯誤跳過的數目

TIME:       執行時間

TABLE:      表名

5、使用pt-table-sync修復不一致

--replicate=   指定pt-table-checksum得到的表

h=                 主庫IP

u=                  用戶名

p=                 密碼

--execute       執行修復

--print            打印出sql語句

--help            更多更詳細的參數請見--help幫助文檔

[root@trcloud ~]# pt-table-sync --replicate=test.check h=192.168.129.15,u=root,p='123456' --execute --print

DELETE FROM `test`.`newtable` WHERE `id`='4' LIMIT 1 /*percona-toolkit src_db:test src_tbl:newtable src_dsn:h=192.168.129.15,p=...,u=root dst_db:test dst_tbl:newtable dst_dsn:h=172.30.249.5,p=...,u=root lock:1 transaction:1 changing_src:test.check replicate:test.check bidirectional:0 pid:19211 user:root host:trcloud*/;

DELETE FROM `test`.`newtable` WHERE `id`='5' LIMIT 1 /*percona-toolkit src_db:test src_tbl:newtable src_dsn:h=192.168.129.15,p=...,u=root dst_db:test dst_tbl:newtable dst_dsn:h=172.30.249.5,p=...,u=root lock:1 transaction:1 changing_src:test.check replicate:test.check bidirectional:0 pid:19211 user:root host:trcloud*/;

REPLACE INTO `test`.`newtable`(`id`, `name`) VALUES ('1', 'leo') /*percona-toolkit src_db:test src_tbl:newtable src_dsn:h=192.168.129.15,p=...,u=root dst_db:test dst_tbl:newtable dst_dsn:h=172.30.249.5,p=...,u=root lock:1 transaction:1 changing_src:test.check replicate:test.check bidirectional:0 pid:19211 user:root host:trcloud*/;

從打印的sql來看,如果從庫數據多了使用delete刪除,其他情況修復主從不一致使用的是REPLACE INTO。所以表上一定要有主鍵,不然不僅會報錯,也會導致主從同步失敗(因為在從庫執行REPLACE INTO執行不過去)

6、檢查主從一致

[root@trcloud ~]# pt-table-checksum --port=3306 --host=192.168.129.15 --databases=test --tables=newtable --user=root --password='123456' --replicate=test.check --no-check-binlog-format --no-check-replication-filters

            TS ERRORS  DIFFS     ROWS  CHUNKS SKIPPED    TIME TABLE

12-13T13:48:18      0      0        3       1       0   0.108 test.newtable
數據已經正常

感謝各位的閱讀!關于“mysql中如何使用pt-table-checksum和pt-table-sync”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁明县| 五大连池市| 多伦县| 玛纳斯县| 文安县| 湘西| 甘洛县| 成武县| 奇台县| 阳新县| 阆中市| 文安县| 云梦县| 廊坊市| 阜宁县| 宿迁市| 河北区| 土默特右旗| 龙游县| 安徽省| 卢氏县| 讷河市| 黑河市| 文山县| 武功县| 江都市| 体育| 嘉禾县| 新泰市| 县级市| 穆棱市| 阿尔山市| 陵水| 荆门市| 巍山| 丹寨县| 运城市| 冷水江市| 廊坊市| 聊城市| 大关县|