pt-find使用
2024-09-04 00:59:17
查找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)
最新文章
- 压缩和解压文件:tar gzip bzip2 compress(转)
- VS2010调试Qt5的相关设置
- nginx负载均衡 加权轮询和ip_hash
- PHP--yii中findOne转换成数组
- 复习一下,? extends T 和 ? super T
- Ajax上传文件进度条显示
- 在Visual Studio 的 “一般处理程序 ” .ashx 文件中如何创建Session 对象
- YII千万级PV架构经验分享--理论篇
- C#-创建自定义双击事件
- PTA 08-图7 公路村村通 (30分)
- 分享2D Unity游戏的动画制作经验
- 报表中的Excel操作之Aspose.Cells(Excel模板)
- 没有产品,没有用户的,绝对不要浪费时间去联系风投——没有过home run的创业人,想办法先做出产品,找到少量用户,没有任何销售成本
- SQL 根据时间和打印状态抽取记录
- _getch() 函数,应用于输入密码敲入回车前修改
- akoj-1222-炸金花
- PAT1027:Colors In Mars
- Windows Update Medic Service 拒绝访问
- SkylineGlobe6.5版本,在矿山、石油、天然气等能源行业的最新应用DEMO演示
- python之类中如何判断是函数还是方法
热门文章
- tomcat各文件夹及作用
- oracle表空间tablespace
- 更改kindeditor编辑器,改用支持h5的video标签替换原有embed标签
- [JAVA]Apache FTPClient操作“卡死”问题的分析和解决
- python中range()和len()函数区别
- JDBC(1)-连接数据库
- TCP连接管理(TCP Connection Management)
- Cocos2dx v3.9项目位置和基本操作
- Principal Component Analysis(PCA)
- JavaMail 邮件发送