Written by
arstercz
-
top 10 percona toolkit tools (二)
3. pt-show-grants
pt-show-grants 导出权限表信息:以sql语句的形式列出mysql.user表的权限信息,方便管理员进行批量修改, 该功能在迁移数据库, 尤其是不同网段的情况下非常有用; 如下为导出的权限信息:
# pt-show-grants -S /data/mysql/3306.sock --password=xxxxxxxx
-- Grants for 'root'@'10.0.0.%'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.0.%' IDENTIFIED BY PASSWORD '*4661D72F443CFC758BECA246B5FA89525BF23E91';
-- Grants for 'root'@'127.0.0.1'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY PASSWORD '*4661D72F443CFC758BECA246B5FA89525BF23E91' WITH GRANT OPTION;
-- Grants for 'root'@'localhost'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*4661D72F443CFC758BECA246B5FA89525BF23E91' WITH GRANT OPTION;
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION;
可以修改导出的信息, 再导入到迁移的新库中。 其它参数:
--drop: 输出信息中增加drop user语句;
--flush: 输出信息后,执行flush privileges语句;
--revoke:输出信息中增加revoke语句;
--only:仅输出show grants相关的语句;
4. pt-mysql-summary
pt-mysql-summary 收集 MySQL 信息, 这不是一个调优或分析的工具,只是搜集了很多Server端的详细信息, 方便管理员查看。 pt-mysql-summary生成的报告可以很方便的进行diff或编辑操作; 该脚本以bash shell编写.
输出信息包括:
# pt-mysql-summary -S /web/mysql/3306.sock --password=xxxxxxxx
# Instances ##################################################
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
3306 /web/mysql/data 0 0 /web/mysql/3306.sock
# MySQL Executable ###########################################
..... (basedir)
# Report On Port 3306 ########################################
User | root@localhost
Time | 2014-09-10 16:56:11 (CST)
Hostname | cz
Version | 5.5.23-rel25.3-log Percona Server with XtraDB (GPL), Release rel25.3, Revision 240
Built On | Linux x86_64
# Processlist ################################################
Query ...
User ...
# Status Counters (Wait 10 Seconds) ##########################
(MySQL status ...)
# Table cache ################################################
....
# InnoDB #####################################################
....
# Configuration File #########################################
....
....
几乎囊括了所有相关的信息, 也可以作为一个简单的镜像状态报告, 中间的一些导出schema信息可以自由选择。 其它参数:
--save-samples: 将数据信息保存到指定的空目录下,比如在sample空目录下生成以下文件, 分别对应上述输出的区域信息:
collect.err mysql-config-file mysqld-executables mysql-master-logs mysql-plugins
mysql-slave mysql-status-defer mysql-variables innodb-status mysql-databases
mysqld-instances mysql-master-status mysql-processlist mysql-status mysql-users
--read-samples: 读取指定目录下的文件,生成报告信息,比如读取上面--save-samples选项生成的文件生成相应的报告:
pt-mysql-summary --read-samples=sample
--sleep: 搜集status计数信息的时候sleep的秒数时长;