【MySQL】percona-toolkit工具包
【说明】
percona-toolkit工具包是一组高级的管理mysql的工具包集,可以用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,下载和安装都很简单https://www.percona.com。生产环境中使用过其中若干工具,极大的提高效率且解决了遇到的问题,特此整理一下备忘,同时推荐使用。
【安装】
一.检查和安装Perl依赖包
percona工具是使用Perl语言编写和执行的,所以需要系统中要有Perl依赖包。依赖包检查命令为:
rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
如果机器上没有依赖包,安装
yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL
二.下载安装percona toolkit包
1、下载和安装percona toolkit的包
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-/percona-release-0.1-.noarch.rpm
2.安装percona-toolkit工具包
yum install percona-toolkit
安装成功,最后有“Complete!”
【功能】
分类 |
工具命令 |
工具作用 |
备注 |
开发类 |
pt-duplicate-key-checker |
列出并删除重复的索引和外键 |
|
pt-online-schema-change |
在线修改表结构 |
常用。 InndoDB有部分语句不支持在线DDL,大表DDL操作阻塞会影响查询、主从同步等问题。 该工具,会先新建立一个要改变后的表,然后分批拷贝原表数据到新表中,不会影响原表使用。完全同步后,重命名新表,更安全的在线执行DDL。 /usr/local/bin/pt-online-schema-change --user=用户名 --password=密码 --host=数据库IP --port=端口号 --charset=utf8mb4 --nodrop-old-table --alter="sql语句片段,例如add column xxfieldname' " D=ad_api,t=t_ad_req_log --exec |
|
pt-query-advisor |
分析查询语句,并给出建议,有bug |
已废弃 |
|
pt-show-grants |
规范化和打印权限 |
常用。 可导出create user和grant授权语句,迁移数据库账号时使用 |
|
pt-upgrade |
在多个服务器上执行查询,并比较不同 |
||
性能类 |
pt-index-usage |
分析日志中索引使用情况,并出报告 |
|
pt-pmp |
为查询结果跟踪,并汇总跟踪结果 |
||
pt-visual-explain |
格式化执行计划tree方式输出 |
||
pt-table-usage |
分析日志中查询并分析表使用情况 |
pt 2.2新增命令 |
|
配置类 |
pt-config-diff |
比较配置文件和参数 |
常用。 MySQL8之前,在线set变量不支持persist,如果忘记在配置文件中同步修改,MySQL重启后会读取配置文件中的老变量导致出现问题。pt-config-diff工具可以比较当前在线变量和配置文件变量的差异,常用。 |
pt-mysql-summary |
对mysql配置和status进行汇总 |
精细地对 mysql 的配置和 sataus 信息进行汇总 | |
pt-variable-advisor |
分析参数,并提出建议 |
||
监控类 |
pt-deadlock-logger |
提取和记录mysql死锁信息 |
常用。死锁信息记录,使用方法: 1.set global innodb_print_all_deadlocks=on; 2.pt-deadlock-logger u=dba,p=密码,h=数据库ip --create-dest-table --dest u=dba,p=密码,h=数据库ip,D=crn,t=deadlock |
pt-fk-error-logger |
提取和记录外键信息 |
||
pt-mext |
并行查看status样本信息 |
||
pt-query-digest |
分析查询日志,并产生报告 |
常用命令,慢查询日志分析工具 |
|
pt-trend |
按照时间段读取slow日志信息 |
已废弃 |
|
复制类 |
pt-heartbeat |
监控mysql复制延迟 |
常用。主从延迟监控。 show slave status \G;查看Seconds_behind_Master参数是基于slave生成的relaylog与master时间差值,并不准确。例如执行一个大事务,主从延迟已发生,但relaylog还未生成。 pt-heartbeat工具可以规避该问题,使用的是Master后台周期写入,slave后台周期读取的方式。 pt-heartbeat --user=用户名 --password=密码 -h master --createtable --database 监测库名 --update --daemonize --interval 周期秒数 pt-heartbeat --user=用户名 --password=密码 -h slave --database crn --monitor--daemonize --log 监控日志路径和名称 |
pt-slave-delay |
设定从落后主的时间 |
||
pt-slave-find |
查找和打印所有mysql复制层级关系 |
||
pt-slave-restart |
监控salve错误,并尝试重启salve |
监控一个或者多个MySQL复制slave,试图跳过引起错误的语句。以指数变化的睡眠时间智能检查slave。可以指定要跳过的错误然后运行slave,一直到一个确定的binlog位置。一旦检测到slave有错误就会打印一行。默认打印:时间戳、连接信息、relay_log_file,relay_log_pos,last_errno。 | |
pt-table-checksum |
校验主从复制一致性 |
常用。判断主从是否同步。 在主库上执行校验,然后对复制的一致性进行检查,来对比主从之间的校验值,并输出对比结果。 |
|
pt-table-sync |
高效同步表数据 |
常用。修复主从同步不一致 pt-table-sync --replicate=test.checksums h=MasterIP,u=Master用户名,p=Master密码,P=Master端口 h=SlaveIP,u=Slave用户名,p=Slave密码,P=Slave端口 --print |
|
系统类 |
pt-diskstats |
查看系统磁盘状态 |
打印磁盘 io 统计信息,比 iostat 输出更细 |
pt-fifo-split |
模拟切割文件并输出 |
||
pt-summary |
收集和显示系统概况 |
||
pt-stalk |
出现问题时,收集诊断数据 |
||
pt-sift |
浏览由pt-stalk创建的文件 |
pt 2.2新增命令 |
|
pt-ioprofile |
查询进程IO并打印一个IO活动表 |
pt 2.2新增命令 |
|
实用类 |
pt-archiver |
将表数据归档到另一个表或文件中 |
|
pt-find |
查找表并执行命令 |
||
pt-kill |
Kill掉符合条件的sql |
常用命令 | |
pt-align |
对齐其他工具的输出 |
pt 2.2新增命令 |
|
pt-fingerprint |
将查询转成密文 |
pt 2.2新增命令 |
【MySQL】percona-toolkit工具包的更多相关文章
- Percona Toolkit mysql辅助利器
1 PT介绍 Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在 ...
- RDS for MySQL 如何使用 Percona Toolkit
Percona Toolkit 包含多种用于 MySQL 数据库管理的工具. 下面介绍常用的 pt-online-schema-change 和 pt-archiver 搭配 RDS MySQL ...
- Percona Toolkit工具连接MySQL 8报错的解决方案
使用Percona Toolkit的工具连接MySQL 8.x数据库时,会遇到类似"failed: Plugin caching_sha2_password could not be loa ...
- Centos 安装Percona Toolkit工具集
1.下载 下载地址: https://www.percona.com/downloads/percona-toolkit/LATEST/ [root@bogon ~]# wget https:// ...
- Percona Toolkit工具集介绍
部署mysql工具是一个非常重要的部分,所以工具的可靠性和很好的设计非常重要.percona toolkit是一个有30多个mysql工具的工具箱.兼容mysql,percona server,mar ...
- Want to archive tables? Use Percona Toolkit’s pt-archiver--转载
原文地址:https://www.percona.com/blog/2013/08/12/want-to-archive-tables-use-pt-archiver/ Percona Toolkit ...
- MySQL Percona Toolkit--pt-osc重点参数
修改命令参数alter .不需要包含alter table关键字,可以包含多个修改操作,使用逗号分开,如"drop clolumn c1, add column c2 int" . ...
- Percona Toolkit工具使用
Percona Toolkit简称pt工具-PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在线DDL等 下 ...
- MySQL(Percona Server) 5.6 主从复制
MySQL(Percona Server) 5.6.15 主库:192.168.2.21 从库:192.168.2.22 例如我们同步的数据库为:test. 如果需要同步多个数据库下面会有说明. My ...
随机推荐
- CentOS 7 minimal网络配置
centos最小化安装没有ifconfig命令,可以使用 ip addr 查看网络信息,习惯ifconfig的用户,则使用 yum -y install net-tools 即可 ; 如果yum不 ...
- js中的回调函数 和promise解决异步操作中的回调地狱问题。
回调函数 : 函数作为参数传递到另外一个函数中.简单数据类型和引入数据类型中的数组和对象作为参数传递大家肯定都不陌生,其实引用数据类型中的函数也是可以的. 事实上大家见到的很多,用到的也很多,比如jQ ...
- yarn查询/cluster/nodes均返回localhost
背景: 1.已禁用ipv6. 2.所有节点的/etc/hosts正确配置,任务在ResourceManager提交. 3.yarn-site.xml中指定了 yarn.resourcemanager. ...
- 服务管理之httpd
目录 1. httpd简介 2. httpd版本 2.2 httpd-2.4新增的模块 3. httpd基础 3.1 httpd自带的工具程序 3.2 rpm包安装的httpd程序环境 3.3 web ...
- 【java】:多线程面试题
经常面试的时候,让写各种乱七八糟的多线程面试题,收集了很多,有些还是挺好玩的. 1.编写程序实现,子线程循环10次,接着主线程循环20次,接着再子线程循环10次,主线程循环20次,如此反复,循环50次 ...
- Maven学习 六 pom.xml文件
java jar包的搜索网址:http://mvnrepository.com/ pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需 ...
- kettle连接oracle报错oracle.i18n.text.converter.CharacterConverter.OGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter
问题背景1:需要将一张excel中的数据导入到数据库中,并且还有关联转换和去重的处理问题,且此excel表不是固定的,需要写一个脚本 当新的excel拿来的时候,可以直接导入即可.所以我想用kettl ...
- js生成tree形组织机构下拉框
1.首先我们正常数据是如下所示: [ { id: 1, pid: 0, name: '公司组织' }, { id: 2, pid: 1, name: '总经办' }, { id: 3, pid: 1, ...
- SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页
SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了. ...
- mybatis中String参数的传递
mybatis中String参数的传递 Keywords selectKeywords(@Param("key") String key); 可以在mapper方法的参数钱添加 @ ...