前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Percona-tookit学习笔记(二)

Percona-tookit学习笔记(二)

作者头像
保持热爱奔赴山海
发布2019-09-18 10:00:17
8020
发布2019-09-18 10:00:17
举报
文章被收录于专栏:数据库相关

pt-align

作用:对其他pt工具生成的结果做格式化输出

例如:pt-mysql-summary --user=root--password=root -h localhost|pt-align  【pt-mysql-summary这个工具后面会讲到,这里为了演示pt-align的作用】

命令的执行结果如下:

pt-archiver

作用:Archive rows from a MySQL table into anothertable or a file.

示例1:Archiveall rows from mysql_server to a file:

代码语言:javascript
复制
# pt-archiver--source h=192.168.2.11,D=hellodb,t=students \
--user=root--password=root --file '/root/test.log' \
--where"1=1" --limit 1000 --commit-each --no-check-charset
代码语言:javascript
复制
# cat/root/test.log | pt-align     # 用pt-align对结果进行格式化输出

示例2:Purge(delete) orphan rows from child table:

代码语言:javascript
复制
# pt-archiver--source h=host,D=db,t=child --purge --where 'NOT EXISTS(SELECT * FROM parentWHERE col=child.col)'

pt-diskstats

功能: Aninteractive I/O monitoring tool for GNU/Linux

原理:

    和iostat类似,通过获取/proc/diskstats的数值,但是功能更强大。

    它能分别输出读、写统计数据,并且有更多的列数据,它是菜单驱动的,交互式的。有很多方式可以聚合数据。

    它和pt-stalk一起使用效果更好。

示例:

# pt-diskstats--show-timestamps  【下面是线上的数据库截图】

pt-duplicate-key-checker

功能:

   为从mysql表中找出重复的索引和外键,这个工具会将重复的索引和外键都列出来,并生成了删除重复索引的语句。

    pt-duplicate-key-checker --help  可以查看帮助

示例:

代码语言:javascript
复制
pt-duplicate-key-checker -uroot-proot -h localhost --databases=b2b -v    #查看b2b数据库的重复索引和外键使用情况

--databases可以接多个数据库,如 --databases=b2b,KF_Mobile,test

--ignore-tables=students           # 统计时候可以忽略某张表

--ignore-databases=performance     # 统计时候可以统计时候忽略某个数据库

-v  显示详细信息

pt-online-schema-change

功能:

    功能为在alter操作更改表结构的时候不用锁定表,也就是说执行alter的时候不会阻塞写和读取操作,注意执行这个工具的时候必须做好备份,操作之前最好详细读一下官方文档http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html。

工作原理:

    创建一个和你要执行alter操作的表一样的空表结构,执行表结构修改,然后从原表中copy原始数据到表结构修改后的表,当数据copy完成以后就会将原表移走,用新表代替原表,默认动作是将原表drop掉。在copy数据的过程中,任何在原表的更新操作都会更新到新表,因为这个工具在会在原表上创建触发器,触发器会将在原表上更新的内容更新到新表。如果表中已经定义了触发器这个工具就不能工作了。

示例1:

将hellodb库的students表转为MyISAM存储引擎的

代码语言:javascript
复制
# pt-online-schema-change -uroot -proot -hlocalhost --alter="ENGINE=MyISAM" D=hellodb,t=students --execute

执行上面的命令后执行

代码语言:javascript
复制
> show create tablehellodb.students;

示例2:

代码语言:javascript
复制
# pt-online-schema-change -uroot -proot -hlocalhost  --alter="Add COLUMN AAAINT(4)" D=hellodb,t=students --dry-run
    参数:--dry-run 干跑,不实际执行生效
# pt-online-schema-change -uroot -proot -hlocalhost  --alter="Add COLUMN FFINT(4)" D=hellodb,t=students --execute
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/05/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档