位置: 编程技术 - 正文

percona-toolkit对MySQL的复制和监控类操作教程

编辑:rootadmin

推荐整理分享percona-toolkit对MySQL的复制和监控类操作教程,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

复制类工具1. pt-heartbeat功能介绍:监控mysql复制延迟用法介绍:pt-heartbeat [OPTION...] [DSN] --update|--monitor|--check|--stop测量复制落后主mysql或者主PostgreSQL多少时间,你可以使用这个脚本去更新主或者监控复制,具体用法见后面的示例.原理:pt-heartbeat通过真实的复制数据来确认mysql和postgresql复制延迟,这个避免了对复制机制的依赖,从而能得出准确的落后复制时间,包含两部分:第一部分在主上pt-heartbeat的--update线程会在指定的时间间隔更新一个时间戳,第二部分是pt-heartbeat的--monitor线程或者--check线程连接到从上检查复制的心跳记录(前面更新的时间戳),并和当前系统时间进行比较,得出时间的差异。你可以手工创建heartbeat表或者添加--create-table参数,推荐使用MEMORY引擎。表结构为:

使用示例:范例1:创建一个后台进程定期更新主上的test库的heartbeat表()默认是1s,可以--interval指定,执行后会成一个heartbeat表,test库为我监控的同步库:

范例2:监控复制在slave上的落后程度(会一直监控):

监控结果如下:

范例3:监控复制在slave上的落后程度(监控一次退出):

范例4:监控PostgreSQL需要添加--dbi-driver Pg:

2. pt-slave-delay功能介绍:设置从服务器落后于主服务器指定时间。用法介绍:pt-slave-delay [OPTION...] SLAVE-HOST [MASTER-HOST]原理:通过启动和停止复制sql线程来设置从落后于主指定时间。默认是基于从上relay日志的二进制日志的位置来判断,因此不需要连接到主服务器,如果IO进程不落后主服务器太多的话,这个检查方式工作很好,如果网络通畅的话,一般IO线程落后主通常都是毫秒级别。一般是通过--delay and --delay"+"--interval来控制。--interval是指定检查是否启动或者停止从上sql线程的频繁度,默认的是1分钟检查一次。使用示例:范例1:使从落后主1分钟,并每隔1分钟检测一次,运行分钟

如果不加--run-time参数会一直执行。范例2:使从落后主1分钟,并每隔秒钟检测一次,运行分钟

运行结果如下:

3. pt-slave-find功能介绍:查找和打印mysql所有从服务器复制层级关系用法介绍:pt-slave-find [OPTION...] MASTER-HOST原理:连接mysql主服务器并查找其所有的从,然后打印出所有从服务器的层级关系。使用示例:范例1:查找主服务器为..3.的mysql有所有从的层级关系:

4. pt-slave-restart功能介绍:监视mysql复制错误,并尝试重启mysql复制当复制停止的时候用法介绍:pt-slave-restart [OPTION...] [DSN]监视一个或者多个mysql复制错误,当从停止的时候尝试重新启动复制。你可以指定跳过的错误并运行从到指定的日志位置。使用示例:范例1:监视..3.的从,跳过1个错误

范例2:监视..3.的从,跳过错误代码为的错误。

5. pt-table-checksum功能介绍:检查mysql复制一致性用法介绍:pt-table-checksum [OPTION...] [DSN]工作原理:pt-table-checksum在主上执行检查语句在线检查mysql复制的一致性,生成replace语句,然后通过复制传递到从,再通过update更新master_src的值。通过检测从上this_src和master_src的值从而判断复制是否一致。注意:使用的时候选择业务地峰的时候运行,因为运行的时候会造成表的部分记录锁定。使用--max-load来指定最大的负载情况,如果达到那个负载这个暂停运行。如果发现有不一致的数据,可以使用pt-table-sync工具来修复。注意:和1.0版本不同,新版本的pt-table-checksum只需要在master上执行即可。通过 ?explain参数再结合二进制日志就可以看出脚本的工作原理,如我的test库有一个名字为zhang的表,我们通过抓取二进制日志来查看脚本的原理:

从这里可以很明显的看出原理了,前面已经说了,这里就不赘述了。使用示例:范例1:比较test数据库同步是否一致,结果显示所有的表。

参数说明:第一次运行的时候需要添加--create-replicate-table参数,如果不加这个就需要手工运行添加表结构的SQL,表结构SQL如下:

percona-toolkit对MySQL的复制和监控类操作教程

之所以使用--nocheck-replication-filters参数是因为我的my.cnf配置了replicate-ignore-db和replicate-wild-do-table等参数。另外需要特别注意执行的checksums所在的数据库必须是同步的数据库。我刚开始使用的时候摸索的很久,官网也没有范例。呵呵!结果如下:

从结果中,我们可以看到test.aaa和test.heartbeat表的DIFFS不为0,那么就是这两个表不同步了。 范例2:比较test数据库同步是否一致,结果只显示数据不一致的表(添加--replicate-check-only参数即可,这个值查看checksums数据不会重新对表进行比较,因此需要先运行上面的比较语句之后再运行这个语句,否则显示不了最新的变化。)。

结果如下:

从结果可以看出,只显示了两个不同步的表。

6. pt-table-sync功能介绍:高效同步mysql表的数据用法介绍:pt-table-sync [OPTION...] DSN [DSN...]原理:总是在主上执行数据的更改,再同步到从上,不会直接更改成从的数据,在主上执行更改是基于主上现在的数据,不会更改主上的数据。注意使用之前先备份你的数据,避免造成数据的丢失.执行execute之前最好先换成--print或--dry-run查看一下会变更哪些数据。使用示例:范例1:同步3.的test库的aaa表到..3.,在执行之前可以用--execute参数换成--print来查看会变更什么东西,后面那个主机必须是master,否则会报错推出。

范例2:将主的test数据库同步到..3.,使从上具有一样的数据。

范例3:只同步指定的表

范例4:根据pt-table-checksum的结果进行数据同步

范例5:根据pt-table-checksum使从的数据和主的数据一致

监控类工具1. pt-deadlock-logger功能介绍:提取和记录mysql死锁的相关信息用法介绍:pt-deadlock-logger [OPTION...] SOURCE_DSN收集和保存mysql上最近的死锁信息,可以直接打印死锁信息和存储死锁信息到数据库中,死锁信息包括发生死锁的服务器、最近发生死锁的时间、死锁线程id、死锁的事务id、发生死锁时事务执行了多长时间等等非常多的信息。详情见下面的示例。使用示例:范例1:打印本地mysql的死锁信息

范例2:将本地的mysql死锁信息记录到数据库的表中,也打印出来

2. pt-fk-error-logger功能介绍:提取和记录mysql外键错误信息用法介绍:pt-fk-error-logger [OPTION...] SOURCE_DSN通过SHOW INNODB STATUS提取和保存mysql数据库最近发生的外键错误信息。可以通过参数控制直接打印错误信息或者将错误信息存储到数据库的表中。使用示例:我在服务器上运行的时候一直报如下错误:

我怀疑是这个程序有问题,回头换一个版本试一下或者调试一下那个程序。 3. pt-mext功能介绍:并行查看SHOW GLOBAL STATUS的多个样本的信息。用法介绍:pt-mext [OPTIONS] -- COMMAND原理:pt-mext执行你指定的COMMAND,并每次读取一行结果,把空行分割的内容保存到一个一个的临时文件中,最后结合这些临时文件并行查看结果。使用示例:范例1:每隔s执行一次SHOW GLOBAL STATUS,并将结果合并到一起查看

4. pt-query-digest功能介绍:分析查询执行日志,并产生一个查询报告,为MySQL、PostgreSQL、 memcached过滤、重放或者转换语句。用法介绍:pt-query-digest [OPTION...] [FILE]解析和分析mysql日志文件使用示例:范例1:分析本地的慢查询文件

范例2:重新回顾满查询日志,并将结果保存到query_review中,注意query_review表的表结构必须先建好,表结构如下:

命令如下:

5. pt-trend功能介绍:居于一组时间序列的数据点做统计。用法介绍:pt-trend [OPTION...] [FILE ...]读取一个慢查询日志,并输出统计信息。也可以指定多个文件。如果不指定文件的话直接从标准输入中读取信息。使用示例:范例1:读取本地慢查询日志并输出统计信息

使用percona-toolkit操作MySQL的实用命令小结 1.pt-archiver功能介绍:将mysql数据库中表的记录归档到另外一个表或者文件用法介绍:pt-archiver[OPTION...]--sourceDSN--whereWHERE这个工具只是归档旧的数据,不

关于MySQL外键的简单学习教程 在MySQL中,InnoDB引擎类型的表支持了外键约束。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少

MySQL中的主键以及设置其自增的用法教程 1、声明主键的方法:您可以在创建表的时候就为表加上主键,如:CREATETABLEtbl_name([字段描述省略...],PRIMARYKEY(index_col_name));也可以更新表结构时为表加上

标签: percona-toolkit对MySQL的复制和监控类操作教程

本文链接地址:https://www.jiuchutong.com/biancheng/312363.html 转载请保留说明!

上一篇:安装和使用percona-toolkit来辅助操作MySQL的基本教程(安装和使用蓄能器应注意哪些问题)

下一篇:使用percona-toolkit操作MySQL的实用命令小结(使用时间)

  • 什么是抄报税证明
  • 什么是一般公共财政预算收入
  • 预提费用在资产负债表里写在哪
  • 现金预算属于营业预算吗
  • 房地产企业分立会计处理及税务筹划案例解析
  • 资产减值损失属于什么科目借方增加还是减少
  • 煤炭企业会计制度
  • 汇总记账凭证核算组织程序的缺点主要有
  • 抵押贷款合同印花税怎么算
  • 银行收到一笔款可以分开入账吗
  • 安装服务异地施工增值税在哪交
  • 营改增以后算税公式
  • 法人往公户转账需要备注吗
  • 增值税专用发票电子版
  • 本月暂估入库,下月
  • 关于防暑降温福利国家有哪些政策规定?
  • 促销购买
  • 贸易型企业怎么做账
  • win10如何禁用administrator用户
  • mac上如何切换apple id
  • 企业投资收益如何做账
  • 通用文件系统
  • 微软输入法繁体字变简体字
  • cookie 区别
  • 上市公司股票如何套现
  • vue+cesium怎么实现地图的加载
  • 注销企业基本户需要先注销一般户吗
  • php 数组定义
  • wordpress邮箱怎么配置
  • PHP:escapeshellcmd()的用法_命令行函数
  • PHP:mcrypt_module_get_algo_key_size()的用法_Mcrypt函数
  • 如何认定为软件企业
  • lama羊驼
  • this.emit('input')
  • 借入长期借款的利息
  • 长期股权投资初始计量会计科目
  • 房租费可以一次性摊销吗
  • 成本法变为权益法合并层面计算投资收益
  • 消耗性生物资产的账务处理
  • 房屋出租怎么开电子发票
  • 投资款印花税税源采集表税目
  • 固定资产是不是非货币性资产
  • 停工损失会计科目
  • 长期待摊费用是非流动资产吗
  • 资产负债表应付职工薪酬是负数是什么原因
  • 安装sqlserver2005警告iis
  • 收到社保稳岗补贴需要交税吗
  • 无固定合同有哪些好处
  • 银行存款支付投资者投入的款项54万
  • 销售方开具的红字专票购买方在税控盘要怎么操作
  • 房地产公司开发的商品房应作为固定资产核算
  • 注册表删除win7自带游戏
  • win8任务管理器在哪
  • winxp任务管理器在哪
  • centos运行文件
  • armcc.exe
  • avsched32.exe是什么进程 avsched32进程有什么作用
  • 电脑桌面图标有虚影怎么回事
  • win10 rs5
  • ubuntu x
  • win8怎么查看隐藏文件
  • win7系统点击图标没反应
  • win7系统无法删除打印机驱动
  • win8能不能玩gta5
  • 铁嘴银牙剧情简介
  • 所见即所得出自哪里
  • 通过node-mysql搭建Windows+Node.js+MySQL环境的教程
  • python如何不换行
  • perl语言基本命令
  • js用什么编写
  • jquery基础知识
  • javascript 日期
  • js如何输出页面内容
  • javascript面向对象编程指南第三版
  • 如何理解python语言
  • 重庆车辆检测费多少钱
  • 税务登记证的电子版在哪
  • 税费银联缴款
  • 2021年社保又涨价了
  • 苏州二套房契税交多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设