Percona-tookit学习笔记(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

pt-align

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

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

命令的执行结果如下:

wKioL1cyxwjzxCXIAABZAjOzD9M165.png



pt-archiver

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

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

1
2
3
# 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
1
# cat/root/test.log | pt-align     # 用pt-align对结果进行格式化输出

wKioL1cyx3zR6kG7AAAc_DzPc40482.png


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

1
# 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  【下面是线上的数据库截图】

wKiom1cyxuXjswyqAABdjv16Yhg054.png


pt-duplicate-key-checker

功能:

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

   

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

 

示例:

1
pt-duplicate-key-checker -uroot-proot -h localhost --databases=b2b - v     #查看b2b数据库的重复索引和外键使用情况

wKioL1cyyD3TimSIAAAYMEHoN3c507.png

--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存储引擎的

1
# pt-online-schema-change -uroot -proot -hlocalhost --alter="ENGINE=MyISAM" D=hellodb,t=students --execute


执行上面的命令后执行

1
> show create tablehellodb.students;

wKiom1cyx7STv5gCAABMSNYc-10271.png


示例2:

1
2
3
# 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









本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1772163,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
传感器 人工智能 监控
|
Java 编译器 Linux
【多线程】锁策略、CAS、Synchronized
锁策略, cas 和 synchronized 优化过程
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
双向链表增、删、改、按序号插入(java)
双向链表增、删、改、按序号插入(java)
|
API 数据库 数据安全/隐私保护
Django API 开发:博客系统的权限管理(下)
安全性是任何网站的重要组成部分,但对于 Web API 而言则至关重要。 目前,我们的 Blog API 允许任何人进行完全访问。 没有任何限制; 任何用户都可以做任何极其危险的事情。 例如,匿名用户可以创建,阅读,更新或删除任何博客文章。 他们甚至没有创造一个! 显然,我们不希望这样做。
|
分布式计算 Hadoop
CentOS6.6 zookeeper完全集群搭建
centos6.6搭建zookeeper-3.4.6完全分布式环境 转载 2015-06-28 22:14:17 标签:it 为了搭建HBase完全分布式环境,前提就是搭建好zookeeper和Hadoop环境,这篇文章介绍zookeeper环境搭建,另外俩篇博文分别介绍Hadoop完全分布式环境和HBase完全分布式环境搭建​ 第一步:准备环境​ 下载方式不赘述,百度一下,你就知道。
1171 0