使用percona-toolkit操作MySQL的实用命令小结
1.pt-archiver
功能介绍
将mysql数据库中表的记录归档到一个表或者文件
用法介绍
pt-archiver [OPTION...] --source DSN --where WHERE
这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将数据插入一台服务器的其他表中,也可以写入到一个文件中,方便使用load data infile命令导入数据。你还可以用它来执行delete操作。这个工具默认的会删除源中的数据。使用的时候请注意。
使用示例
范例1将192.168.3.135上的sanmao库的oss_log表id小于100000的记录转移到192.168.3.92上的sanmao库,并归档到oss_log_archive_20120605.log文件中:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --dest
h=192.168.3.92,D=sanmao,t=oss_log --file '/var/log/oss_log_archive_20120605.log' --where "id<=100000" --mit-each
范例2将192.168.3.135上的sanmao库的oss_log小于160000的记录归档到oss_log_archive_20120607.log文件中:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --file '/var/log/oss_log_archive_20120607.log' --where "id<=160000" --mit-each
范例3删除192.168.3.135上的sanmao库的oss_log表中id小于167050的记录
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --purge --where 'id<=167050'
注意如果是字符集是utf8的话,需要在my.f中的[client]狼蚁网站SEO优化添加default-character-set = utf8,否则导出的文件内容中文会乱码。
2.pt-find
功能介绍
查找mysql表并执行指定的命令,和gnu的find命令类似。
用法介绍
pt-find [OPTION...] [DATABASE...]
默认动作是打印数据库名和表名
使用示例
范例1查找192.168.3.135中1天以前创建的InnoDB的表 ,并打印。
pt-find --ctime +1 --host=192.168.3.135 --engine InnoDB --user=root --password=zhang@123
范例2查找192.168.3.135中1天以前更改过的数据库名字匹配%hostsops%的并且引擎为MYISAM的表,并将表的引擎更改为InnoDB引擎。
pt-find --mtime +1 --dblike hostsops --engine MyISAM --host=192.168.3.135 --user=root --password=zhang@123 --exec "ALTER TABLE %D.%N ENGINE=InnoDB"
范例3查找192.168.3.135中aaa库和zhang库中的空表,并删除。
pt-find --empty aaa zhang --host=192.168.3.135 --user=root --password=zhang@123 --exec-plus "DROP TABLE %s"
范例4查找192.168.3.135中超过100M的表
pt-find --tablesize +100M --host=192.168.3.135 --user=root --password=zhang@123
3.pt-kill
功能介绍
Kill掉符合指定条件mysql语句
用法介绍
pt-kill [OPTIONS]
加入没有指定文件的话pt-kill连接到mysql并通过SHOW PROCESSLIST找到指定的语句,反之pt-kill从包含SHOW PROCESSLIST结果的文件中读取mysql语句
使用示例
范例1查找192.168.3.135服务器运行时间超过60s的语句,并打印
pt-kill --busy-time 60 --print --host=192.168.3.135 --user=root --password=zhang@123
范例2查找192.168.3.135服务器运行时间超过60s的语句,并kill
pt-kill --busy-time 60 --kill --host=192.168.3.135 --user=root --password=zhang@123
范例3从proesslist文件中查找执行时间超过60s的语句
mysql -uroot -pzhang@123 -h192.168.3.135 -e "show processlist" > processlist.txt pt-kill --test-matching processlist.txt --busy-time 60 --print
4.pt-config-diff
功能介绍
比较mysql配置文件和服务器参数
用法介绍
pt-config-diff [OPTION...] CONFIG CONFIG [CONFIG...]
CONFIG可以是文件也可以是数据源名称,最少必须指定两个配置文件源,就像unix狼蚁网站SEO优化的diff命令一样,如果配置完全一样就不会输出任何东西。
使用示例
范例1查看本地和远程服务器的配置文件差异
pt-config-diff h=localhost h=192.168.3.92 --user=root --password=zhang@123
比较出来内容如下
22 config differences Variable localhost.localdomain localhost.localdomain ========================= ===================== ===================== binlog_cache_size 8388608 2097152 have_ndbcluster DISABLED NO innodb_additional_mem_... 16777216 33554432 innodb_buffer_pool_size 1677721600 1073741824
范例2比较本地配置文件和远程服务器的差异
pt-config-diff /etc/my.f h=192.168.3.92 --user=root --password=zhang@123
比较出来内容如下
12 config differences Variable /etc/my.f localhost.localdomain ========================= =========== ===================== binlog_cache_size 8388608 2097152 binlog_format mixed MIXED
范例3比较本地两个配置文件的差异
pt-config-diff /usr/local/mysql/share/mysql/my-large.f /usr/local/mysql/share/mysql/my-medium.f
5.pt-mysql-summary
功能介绍
精细地对mysql的配置和sataus信息进行汇总,汇总后你直接看一眼就能看明白。
用法介绍
pt-mysql-summary [OPTIONS] [-- MYSQL OPTIONS]
工作原理连接mysql后查询出status和配置信息保存到临时目录中,然后用awk和其他的脚本工具进行格式化。OPTIONS可以查阅官网的相关页面。
使用示例
范例1汇总本地mysql服务器的status和配置信息
pt-mysql-summary -- --user=root --password=zhang@123 --host=localhost
范例2汇总本地mysql服务器192.168.3.92的status和配置信息
pt-mysql-summary -- --user=root --password=zhang@123 --host=192.168.3.92
6.pt-variable-advisor
功能介绍
分析mysql的参数变量,并对可能存在的问题提出建议
用法介绍
pt-variable-advisor [OPTION...] [DSN]
原理根据预先定义的规则检查show variables中的配置错误的设置和值。
使用示例
范例1从localhost获取变量值
pt-variable-advisor --user=root --password=zhang@123 localhost
范例2从指定的文件中读取配置,这个有格式要求
pt-variable-advisor --user=root --password=zhang@123 --source-of-variables my.f
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指