基于GTID的主从实践系列之③Percona工具使用(持续更新)

架构

主:172.17.100.80

从:172.17.100.104

sysbench:172.17.100.100

MySQL版本:5.7.24


首先完成主从的搭建

参考文档:基于GTID的主从搭建

sysbench创建数据到主库

参考文档:sysbench安装及使用

Percona组件的部署

yum install -y perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL

yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

yum install -y percona-toolkit

验证Percona组件部署是否正常

pt-query-digest --help


pt-heartbeat测试复制延迟

#搭建配置

主库创建数据库pt(自动同步到从库,从库无需创建)

create database pt;

在搭建pt组件的机器上执行

pt-heartbeat -D pt --update -uroot -p密码 -P主库端口 -h主库IP --create-table --daemonize

创建完成后,在pt库里会有一张heartbeat表

#查看复制延迟的执行

pt-heartbeat -D pt --monitor -uroot -p密码 -P从库端口 -h从库IP

如果把monitor改成check,会只刷新一次

(监控复制延迟效果如下,这是一个sysbench导入时的复制延迟监控)

以下图第一行为例,意思是

延迟时间:当前364秒【334.5秒(1分内平均),214.5秒(5分内平均),73.83秒(15分内平均)】


pt-table-checksum

主库:172.17.100.80

从库:172.17.100.104

Percona组件部署IP:172.17.100.104

到主库执行

GRANT SELECT, DELETE,INSERT,UPDATE, CREATE, DROP, PROCESS, INDEX, SUPER, EXECUTE, REPLICATION SLAVE ON *.* TO ptsum@'%' identified by 'ptsum';

GRANT SELECT, DELETE,INSERT,UPDATE, CREATE, DROP, PROCESS, INDEX, SUPER, EXECUTE, REPLICATION SLAVE ON *.* TO ptsum@localhost identified by 'ptsum';

反正开启了主从同步,这玩意也会自己同步到从库的

老版本的checksum需要自己去建表,新版本则不需要手动建表了,我这里是新版本,不存在手动建表的操作

#到部署有Percona组件的机器上执行

pt-table-checksum --nocheck-replication-filters --replicate=test.checksums --databases=需要检测一致性的库 --no-check-binlog-format h=主库IP,u=ptsum,p=主库密码,P=主库端口

说明一下上面这条语句

--replicate=test.checksums     test.checksums表就是我们前面说的新版本自动创建的表,确保别建在业务库下就行,test库要存在;这张表会用来存放每次校对之后的结果,有参数可以选择在校对之前清空这张表,具体的不在这里讨论

--databases=需要检测一致性的库  比如我要比对主从的sbtest库是否一致,则--databases=sbtest

--no-check-binlog-format  该参数必须写上,默认是statement,但生产库通常是row格式

前面的语句执行结果如下(红框处为0,表示数据一致)

关于DSN

如果主库端口和从库端口不同;或者一个主库有非常多的从库;这种时候很可能出现checksum在连入到主库之后根本无法找到从库的情况,这时候就需要添加一条路由来指引从库了,这也就是DSN

登录主库,仍然使用test库,创建一张dsn表

use test;

CREATE TABLE `dsns` ( `id` int(11) NOT NULL AUTO_INCREMENT,`parent_id` int(11) DEFAULT NULL,`dsn` varchar(255) NOT NULL,PRIMARY KEY (`id`));

insert into dsns values(1,1,'h=slave的IP,u=ptsum,p=ptsum,P=从库端口');

#到部署有Percona组件的机器上执行

pt-table-checksum --nocheck-replication-filters --replicate=test.checksums --databases=sbtest --no-check-binlog-format h=主库IP,u=ptsum,p=ptsum,P=主库端口 --recursion-method dsn=t=test.dsns,h=从库IP,u=ptsum,p=ptsum,P=从库端口

上面那条语句的意思就是用pt登录到主库上,通过读取主库dsn里面的路由关系去找到从库,然后进行一致性校验

如果pt在主库上有部署,那么加粗斜体部分的主库ip等内容是可以不写的,但u和p要写出来,否则会以root方式去登陆mysql

--recursion-method这个参数就表示会以dsn去寻找从库了,后面需要跟上dsn的相关参数

执行效果如下


pt-table-sync

从库上执行操作

delete from sbtest1 limit 10;

此时主库和从库的sbtest1表相差10行数据

通过checksum查看

#根据检查生成的test.checksums进行数据的快速恢复

pt-table-sync --execute h=主库IP,u=root,p=主库密码 --replicate test.checksums 主库hostname

(本来想着主库的test.checksums也会同步到从库上,上面的语句试了下h=从库IP,执行倒是不报错,但数据没有恢复成功)

执行完成后,删掉的10条数据被补全


#如果没有经过checksum,直接同步2个库中某个表,则采用下列语句

pt-table-sync --execute h=主库IP,D=sbtest,t=sbtest1,u=root,p=主库密码 h=从库IP,u=root,p=从库密码 --no-check-slave


pt-osc

待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容