查找MySQL的表,并且做一些操作,基本语法就如下:
pt-find [OPTIONS] [DATABASES]
(1)查找一天前建立的MyISAM 引擎的表
[root@mxqmongodb2 bin]# ./pt-find --ctime + --engine MyISAM --host=172.16.16.35 --port= --user=root --password=
`mysql`.`columns_priv`
`mysql`.`db`
`mysql`.`event`
`mysql`.`func`
`mysql`.`ndb_binlog_index`
`mysql`.`proc`
`mysql`.`procs_priv`
`mysql`.`proxies_priv`
`mysql`.`tables_priv`
`mysql`.`user`
(2)将一天前创建的InnoDB 表都转化为MyISAM引擎的表
pt-find --engine InnoDB --exec "ALTER TABLE %D.%N ENGINE=MyISAM" --host=172.16.16.35 --port= --user=root --password= --database=test
(3)查找某些符合某个规则的表,并且执行删除操作
pt-find --connection-id '\D_\d+_(\d+)$' --server-id '\D_(\d+)_\d+$' --exec-plus "DROP TABLE %s" --host=172.16.16.35 --port= --user=root --password= --database=test
(4)找到maxiangqian,open_api的空表
[root@mxqmongodb2 bin]# ./pt-find --empty open_api maxiangqian --host=172.16.16.35 --port= --user=root --password=
`open_api`.`ma`
`maxiangqian`.`test02`
找到open_api 数据库的空表执行删除操作:
[root@mxqmongodb2 bin]# ./pt-find --empty open_api --host=172.16.16.35 --port= --user=root --password= --exec-plus "DROP TABLE %s"
[root@mxqmongodb2 bin]# ./pt-find --empty open_api --host=172.16.16.35 --port= --user=root --password=
再次查询结果可以看到已经删除了。
(5)查找某些大表,由于我是测试环境,就查找5M以上的表吧:
[root@mxqmongodb2 bin]# ./pt-find --tablesize +5M --host=172.16.16.35 --port= --user=root --password=
`sbtest`.`sbtest`
`tpcc`.`customer`
`tpcc`.`history`
`tpcc`.`item`
`tpcc`.`order_line`
`tpcc`.`orders`
`tpcc`.`stock`
这个功能个人感觉还是蛮实用的,最起码可以很快定位到数据的大表,当然通过information_schema也是可以快速查询的到表的使用大小的。
(6)查找所有的表并且打印出表大小(数据加索引),并且自动排序
[root@mxqmongodb2 bin]# ./pt-find tpcc --host=172.16.16.35 --port= --user=root --password= --printf "%T\t%D.%N\n" | sort -rn
`tpcc`.`stock`
`tpcc`.`order_line`
`tpcc`.`customer`
`tpcc`.`history`
`tpcc`.`orders`
`tpcc`.`item`
`tpcc`.`new_orders`
`tpcc`.`warehouse`
`tpcc`.`district`
也可以将这些数据插入到表中:
要先创建表:
mysql> create table tblsize(db varchar(), tbl varchar(), size int);
Query OK, rows affected (0.48 sec)
执行插入操作:
[root@mxqmongodb2 bin]# ./pt-find tpcc --host=172.16.16.35 --port= --user=root --password= --noquote --exec "INSERT INTO sysdata.tblsize(db, tbl, size) VALUES('%D', '%N', %T)"
然后查看内容:
mysql> select * from tblsize;
+------+------------+-----------+
| db | tbl | size |
+------+------------+-----------+
| tpcc | customer | |
| tpcc | district | |
| tpcc | history | |
| tpcc | item | |
| tpcc | new_orders | |
| tpcc | order_line | |
| tpcc | orders | |
| tpcc | stock | |
| tpcc | warehouse | |
+------+------------+-----------+
rows in set (0.00 sec)

pt-find使用的更多相关文章

  1. PX 和PT的区别

    字体大小的设置单位,常用的有2种:px.pt.这两个有什么区别呢? 先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点: pt就是point,是印刷行业常用单位,等于1/72英 ...

  2. css中单位px、pt、em和rem的区别

    国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? px :像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS ...

  3. 快速安装Percona pt工具

    yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-Time-HiRes perl-IO-Socket-SSLwget http://pk ...

  4. ((uchar*)(Img1->imageData + Img1->widthStep*pt.y))[pt.x] 的 具体含义

    widthstep是指图像每行所占的字节数. 主要要和width区别: width是表示图像的每行像素数,widthStep指表示存储一行像素需要的字节数. 在OpenCV里边,widthStep必须 ...

  5. Android中的dp, px, pt

    定义: px是像素,表示屏幕显示的最小元素单位 pt是磅数,一磅等于1/72英寸,一般用来作为字体的单位使用 问题: px和pt不使用于手机,因为同样的px在高低分辨率的手机上显示的比例不同 解决办法 ...

  6. css中font-size的单位总结:px、em、pt

    px:基于像素的单位.像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的.em :一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是指 ...

  7. UI设计中px、pt、ppi、dpi、dp、sp之间的关系

    UI设计中px.pt.ppi.dpi.dp.sp之间的关系 武汉AAA数字艺术教育 2015-07-24 14:19:50 职业教育 pi px 阅读(3398) 评论(0) 声明:本文由入驻搜狐公众 ...

  8. 关于pt与px

    pt:point,点,是印刷业一个标准的长度单位,1pt=1/72英寸:  在Windows里,默认的显示设置中,把文字定义为96dpi.这说明了:1px=1/96英寸:而1pt=1/72英寸,可以得 ...

  9. Android中dip、dp、sp、pt和px的区别

    1.概述 过去,程序员通常以像素为单位设计计算机用户界面.例如:图片大小为80×32像素.这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小.在有些情况 ...

  10. 必备:常用px,pt,em换算表(转)

    常用px,pt,em换算表 pt (point,磅):是一个物理长度单位,指的是72分之一英寸. px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理 ...

随机推荐

  1. Access computer files on iPad without using iTunes.

    going to my CSDN blog ---> https://blog.csdn.net/qq_37746801/article/details/89708103

  2. Python Requests IP直连

    import re import requests from urllib3.util import connection _orig_create_connection = connection.c ...

  3. Selenium+excel实现参数化自动化测试

    使用到的技术:POI对excel的解析.selenium自动化测试.junit 测试用例:登陆www.1905.com执行登陆-退出的操作 执行步骤: 1.首先创建一个excel,里面有用户名和密码列 ...

  4. sencha touch 手势识别左右滑动

    sencha touch 中添加手势识别非常简单,就是监听 dom 元素的 move 事件: 1. 为你的 view 注册 swipe 事件 // 为当前 view 注册手势滑动事件 Ext.get( ...

  5. nginx文件访问403问题

    配置测试环境nginx时,增加了一个新的用户用来上传资源,所以想着就直接把静态资源放在新用户的home目录.为此,还特地设置了相应目录的所有用户都可以读取. chmod 755 /home/tom/s ...

  6. C++11并发编程:多线程std::thread

    一:概述 C++11引入了thread类,大大降低了多线程使用的复杂度,原先使用多线程只能用系统的API,无法解决跨平台问题,一套代码平台移植,对应多线程代码也必须要修改.现在在C++11中只需使用语 ...

  7. C#中加粗label的字体

    1. 在C#的代码中想直接加粗label控件的字体, label1.Font.Bold = true;//发现系统会提示Font.Bold是只读属性 如果必须要加粗字体呢,方法如下: 2. 使用Fon ...

  8. Mybatis缓存(一)

    1.什么是缓存 Mybatis提供缓存,用于减轻数据压力,提高数据库性能. 2.Mybatis缓存分类 Mybatis的缓存分为一级缓存和二级缓存. Mybatis的一级缓存 1.一级缓存的范围  1 ...

  9. xcode配置文件中,Architectures表示的意义

    xcode配置文件中,Architectures表示的意义 ======================== Architecture : 指你想支持的指令集. Valid architectures ...

  10. lighttpd 与 gitweb 搭建服务器

    搭建 Git 仓库服务器 下载 gitweb 如果是用 debian 系的 Linux 发行版,可以使用 apt 下载安装可执行的 gitweb sudo apt-get install gitweb ...