暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL DBA最佳运维工具 percona toolkit 使用手册
2114
18页
18次
2019-11-19
10墨值下载
percona-toolkit 使用教程
一、 percona-toolkit 简介
percona-toolkit 是一组高级命令行工具的集合,用来执行各种通过手工执行非常复
杂和麻烦的 mysql 任务和系统任务,这些任务包括:
检查 master slave 数据的一致性
有效地对记录进行归
查找重复的索引
对服务器信息进行汇
分析来自日志和 tcpdump 的查询
当系统出问题的时候收集重要的系统信
percona-toolkit 源自 Maatkit Aspersa 工具,这两个工具是管理 mysql 的最有名的
工具,现在 Maatkit 工具已经不维护了,请大家还是使用 percona-toolkit 吧!这些
工具主要包括开发、性能、配置、监控、复制、系统、实用六大类,作为一个优秀
DBA里面有的工具非常有用,如果能掌握并加以灵活应用,将能极大的提高
作效率。
二、 percona-toolkit 工具包安装
1. 软件包下载
访 http://www.percona.com/software/percona-toolkit/ 下载最新版本的
Percona Toolkit 或者通过如下命令行来获取最新的版本:
wget percona.com/get/percona-toolkit.tar.gz
wget percona.com/get/percona-toolkit.rpm
我这里选择直接从网站上找到最新版本下载:
wget http://www.percona.com/redir/downloads/percona-toolkit/2.1.1/percona-t
oolkit-2.1.1-1.noarch.rpm
wget http://www.percona.com/redir/downloads/percona-toolkit/2.1.1/percona-t
oolkit-2.1.1.tar.gz
http://pkgs.repoforge.org/perl-TermReadKey/下载最新的 TermReadKey
wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-1.el5.
rf.x86_64.rpm
2. 软件包安装
我的环境是 Centos 5.5 64 BIT
A. percona-toolkit rpm 安装方式
rpm -ivh perl-TermReadKey-2.30-1.el5.rf.x86_64.rpm
rpm -ivh percona-toolkit-2.1.1-1.noarch.rpm
注意:需要安装 Term::ReadKey 包,否则会报 perl(Term::ReadKey) >= 2.10
is needed by percona-toolkit-2.1.1-1.noarch 错误
B. percona-toolkit 的编译安装方
tar xzvf percona-toolkit-2.1.1.tar.gz
cd percona-toolkit-2.1.1
perl Makefile.PL
make
make test
make install
三、 percona-toolkit 的使用
根据 percona-toolkit 的工具类型可以总结出下面五个类别,方便大家进行学习和实
践,下面就针对这些不同的类别来分别介绍这些工具的用法。
() 开发类工具
1. pt-duplicate-key-checker
功能介绍:
功能为从 mysql 表中找出重复的索引和外键,这个工具会将重复的索
引和外键都列出来,并生成了删除重复索引的语句,非常方便
用法介绍:
pt-duplicate-key-checker [OPTION...] [DSN]
包含比较多的选项,具体的可以通过命令 pt-duplicate-key-checker
--help 来查看具体支持那些选项,我这里就不一一列举了。DNS 为数
据库或者表。
使用示例:
查看 test 数据库的重复索引和外键使用情况使用如下命令
pt-duplicate-key-checker --host=localhost --user=root
--password=zhang@123 --databases=test
2. pt-online-schema-change
功能介绍:
功能为在 alter 作更改表结的时候不用定表,也就说执
alter 的时候不会阻塞写和读取操作,注意执行这个工具的时候必须
做好备份
http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-ch
ange.html
工作原理是创建一个和你要执行 alter 操作的表一样的空表结构,执
行表结构修改,然后从原表中 copy 原始数据到表结构修改后的表,
当数据 copy 成以后就会将原表移走,用新表代替原表,默认动作
是将原表 drop 掉。 copy 数据的过程中,任何在原表的更新操作都
会更新到新表,因为这个工具在会在原表上创建触发器,触发器会将
在原表上更新的内容更新到新表。如果表中已经定义了触发器这个工
具就不能工作了。
用法介绍:
pt-online-schema-change [OPTIONS] DSN
options 可以自行查看 helpDNS 为你要操作的数据库和表。
这里有两个参数需要介绍一下:
--dry-run 这个参数不建立触发器,不拷贝数据,也不会替换原表。
只是创建和更改新表
--execute 这个参数的作用和前面工作原理的介绍的一样,会建立触
发器,来保证最新变更的数据会影响至新表。注意:如果不加这个参
数,这个工具会在执行一些检查后退出。一举措是为了让使用这充
分了解了这个工具的原理,同时阅读了官方文档。
使用示例:
范例 1:在线更改表的的引擎,这个尤其在整理 innodb 表的时候非
常有用,示例如下:
pt-online-schema-change --user=root --password=zhang@123 --host=l
ocalhost --lock-wait-time=120 --alter="ENGINE=InnoDB" D=test,t=oss_
pvinfo2 --execute
从下面的日志中可以看出它的执行过程
Altering `test`.`oss_pvinfo2`...
Creating new table...
Created new table test._oss_pvinfo2_new OK.
Altering new table...
Altered `test`.`_oss_pvinfo2_new` OK.
Creating triggers...
Created triggers OK.
Copying approximately 995696 rows...
Copied rows OK.
Swapping tables...
Swapped original and new tables OK.
Dropping old table...
Dropped old table `test`.`_oss_pvinfo2_old` OK.
Dropping triggers...
Dropped triggers OK.
Successfully altered `test`.`oss_pvinfo2`.
范例 2:大表添加字段的,语句如:
pt-online-schema-change --user=root --password=zhang@123 --host=l
ocalhost --lock-wait-time=120 --alter="ADD COLUMN domain_id INT"
D=test,t=oss_pvinfo2 --execute
3. pt-query-advisor
功能介绍:
根据一些规则分析查询语句,可能的问题提出建议这些评判规
大家可以看一下官网的链接:
http://www.percona.com/doc/percona-toolkit/2.1/pt-query-advisor.ht
ml这里就不详细列举了。那些查询语句可以来自慢查询文件、general
日志文件或者使用 pt-query-digest 截获的查询语句。目前这个版本有
bug,当日志文件非常大的时候会需要很长时间甚至进入死循环。
用法介绍:
pt-query-advisor /path/to/slow-query.log
of 18
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。