位置: 编程技术 - 正文

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的实用命令小结(使用时间)

  • 一般纳税人销售旧货
  • 外出经营涉税事项报告
  • 为什么要进行建筑工程预算
  • 借款利息收入要开票吗
  • 生活记账技巧
  • 城市维护建设税免税
  • 个人销售自产农产品 个人所得税
  • 企业增加注册资金怎么办理
  • 哪些银行承兑汇票不能收的名单
  • 公司成立时代垫资合法吗
  • 贷款利息收入要减去支付利息支出吗
  • 利润是负数如何计算利润率
  • 合同没签定金可以退的吗
  • 对方跨行转账成功后我却没收到款还能追回来吗
  • 有发票的福利费可以不交个税吗
  • 报关单出口退税联模板
  • 增值税发票系统怎么升级
  • 关于有什么新的政策
  • 购入低值易耗品计入什么科目
  • 国外企业提供国际运输服务税率
  • 同期对比和同比增长
  • 高新技术企业资格复核
  • 变更股权需要资质证书吗
  • 公司名下的车怎么上牌
  • system进程占用cpu突然变高
  • 增值税留抵税额在借方还是贷方
  • 以前年度费用漏记了怎么办小企业会计准则
  • uniapp小程序自定义tabbar在iOS手机上太高了
  • 建筑业预缴企业所得税表项目金额填合同金额吗
  • PHP:preg_replace()的用法_PCRE正则函数
  • 经营租入固定资产的租赁费计入
  • php的基础知识
  • PHP:imagesetinterpolation()的用法_GD库图像处理函数
  • 记账凭证摘要是什么意思
  • 2023前端面试题目100及最佳答案
  • 差旅费住宿专票可以抵扣吗
  • 事业单位员工工资
  • 管家婆软件出库入库如何用
  • opencv python
  • 简述记账后的凭证修改方法
  • 哪些收入需要缴纳个人所得税
  • 材料出入库的本质是什么
  • 进项发票已入账 未开具出口发票
  • sql连接查询中AB
  • 小规模教育培训怎样纳税
  • 收到政府给员工的礼物
  • 工程施工的主要经济指标包括哪些
  • 以前年度错误账务处理
  • 捆绑销售如何做税务处理合适?
  • 一般纳税人购买原材料会计分录
  • 收到承兑的账务处理
  • 直接计入当期利润吗
  • 转账错误退款说明
  • 长期挂账其他应付款违反了哪项制度
  • 金税盘服务费可以退吗
  • 已认证发票退回说明模板
  • 临时设施科目计入什么
  • 咨询费的支出范围
  • 资产减值损失的账务处理
  • 编写高质量代码改善JAVA程序的151个建议
  • win8系统设置错误
  • 如何彻底删除超级QQ秀
  • shell下同时读取多个文件的方法
  • win7系统文件夹怎么加密
  • react增删改查功能
  • javascript运用
  • Jquery ajax 同步阻塞引起的UI线程阻塞问题
  • jquery showdialog
  • 样式默认有几种修改格式
  • 使用 jQuery.ajax 上传带文件的表单遇到的问题
  • js中遍历数组的方法
  • 税务举报偷税漏税电话
  • 进项税留抵是什么意思
  • 个人出租房屋如何计税?看这篇
  • 拉萨税务局拉巴卓玛
  • 山东省合格考密码
  • 地税收社保
  • 新时代新思想基层医疗宣讲
  • 土地增值税如何入账
  • 河北省社保证明网上查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设