查找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)

最新文章

  1. 压缩和解压文件:tar gzip bzip2 compress(转)
  2. VS2010调试Qt5的相关设置
  3. nginx负载均衡 加权轮询和ip_hash
  4. PHP--yii中findOne转换成数组
  5. 复习一下,? extends T 和 ? super T
  6. Ajax上传文件进度条显示
  7. 在Visual Studio 的 “一般处理程序 ” .ashx 文件中如何创建Session 对象
  8. YII千万级PV架构经验分享--理论篇
  9. C#-创建自定义双击事件
  10. PTA 08-图7 公路村村通 (30分)
  11. 分享2D Unity游戏的动画制作经验
  12. 报表中的Excel操作之Aspose.Cells(Excel模板)
  13. 没有产品,没有用户的,绝对不要浪费时间去联系风投——没有过home run的创业人,想办法先做出产品,找到少量用户,没有任何销售成本
  14. SQL 根据时间和打印状态抽取记录
  15. _getch() 函数,应用于输入密码敲入回车前修改
  16. akoj-1222-炸金花
  17. PAT1027:Colors In Mars
  18. Windows Update Medic Service 拒绝访问
  19. SkylineGlobe6.5版本,在矿山、石油、天然气等能源行业的最新应用DEMO演示
  20. python之类中如何判断是函数还是方法

热门文章

  1. tomcat各文件夹及作用
  2. oracle表空间tablespace
  3. 更改kindeditor编辑器,改用支持h5的video标签替换原有embed标签
  4. [JAVA]Apache FTPClient操作“卡死”问题的分析和解决
  5. python中range()和len()函数区别
  6. JDBC(1)-连接数据库
  7. TCP连接管理(TCP Connection Management)
  8. Cocos2dx v3.9项目位置和基本操作
  9. Principal Component Analysis(PCA)
  10. JavaMail 邮件发送