pt-find使用
查找MySQL的表,并且做一些操作,基本語(yǔ)法就如下: pt-find [OPTIONS] [DATABASES]
?
(1)查找一天前建立的MyISAM 引擎的表 [root@mxqmongodb2 bin]# ./pt-find --ctime +1 --engine MyISAM --host=172.16.16.35 --port=3306 --user=root --password=123456 `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)將一天前創(chuàng)建的InnoDB 表都轉(zhuǎn)化為MyISAM引擎的表 pt-find --engine InnoDB --exec "ALTER TABLE %D.%N ENGINE=MyISAM" --host=172.16.16.35 --port=3306 --user=root --password=123456 --database=test?
(3)查找某些符合某個(gè)規(guī)則的表,并且執(zhí)行刪除操作 pt-find --connection-id '\D_\d+_(\d+)$' --server-id '\D_(\d+)_\d+$' --exec-plus "DROP TABLE %s" --host=172.16.16.35 --port=3306 --user=root --password=123456 --database=test?
(4)找到maxiangqian,open_api的空表 [root@mxqmongodb2 bin]# ./pt-find --empty open_api maxiangqian --host=172.16.16.35 --port=3306 --user=root --password=123456 `open_api`.`ma` `maxiangqian`.`test02`?
找到open_api 數(shù)據(jù)庫(kù)的空表執(zhí)行刪除操作: [root@mxqmongodb2 bin]# ./pt-find --empty open_api --host=172.16.16.35 --port=3306 --user=root --password=123456 --exec-plus "DROP TABLE %s" [root@mxqmongodb2 bin]# ./pt-find --empty open_api --host=172.16.16.35 --port=3306 --user=root --password=123456?
再次查詢結(jié)果可以看到已經(jīng)刪除了。 (5)查找某些大表,由于我是測(cè)試環(huán)境,就查找5M以上的表吧: [root@mxqmongodb2 bin]# ./pt-find --tablesize +5M --host=172.16.16.35 --port=3306 --user=root --password=123456 `sbtest`.`sbtest` `tpcc`.`customer` `tpcc`.`history` `tpcc`.`item` `tpcc`.`order_line` `tpcc`.`orders` `tpcc`.`stock`?
這個(gè)功能個(gè)人感覺(jué)還是蠻實(shí)用的,最起碼可以很快定位到數(shù)據(jù)的大表,當(dāng)然通過(guò)information_schema也是可以快速查詢的到表的使用大小的。 (6)查找所有的表并且打印出表大小(數(shù)據(jù)加索引),并且自動(dòng)排序 [root@mxqmongodb2 bin]# ./pt-find tpcc --host=172.16.16.35 --port=3306 --user=root --password=123456 --printf "%T\t%D.%N\n" | sort -rn 407797760 `tpcc`.`stock` 338673664 `tpcc`.`order_line` 186384384 `tpcc`.`customer` 24690688 `tpcc`.`history` 19415040 `tpcc`.`orders` 9977856 `tpcc`.`item` 4341760 `tpcc`.`new_orders` 16384 `tpcc`.`warehouse` 16384 `tpcc`.`district`?
也可以將這些數(shù)據(jù)插入到表中: 要先創(chuàng)建表: mysql> create table tblsize(db varchar(30), tbl varchar(30), size int); Query OK, 0 rows affected (0.48 sec)?
執(zhí)行插入操作: [root@mxqmongodb2 bin]# ./pt-find tpcc --host=172.16.16.35 --port=3306 --user=root --password=123456 --noquote --exec "INSERT INTO sysdata.tblsize(db, tbl, size) VALUES('%D', '%N', %T)"?
然后查看內(nèi)容: mysql> select * from tblsize; +------+------------+-----------+ | db | tbl | size | +------+------------+-----------+ | tpcc | customer | 186384384 | | tpcc | district | 16384 | | tpcc | history | 24690688 | | tpcc | item | 9977856 | | tpcc | new_orders | 4341760 | | tpcc | order_line | 338673664 | | tpcc | orders | 19415040 | | tpcc | stock | 407797760 | | tpcc | warehouse | 16384 | +------+------------+-----------+ 9 rows in set (0.00 sec)?
轉(zhuǎn)載于:https://www.cnblogs.com/shengdimaya/p/7064370.html
總結(jié)
- 上一篇: Activity的launchMode和
- 下一篇: C++11 并发指南四(future 详