Percona-tookit学习笔记(一)
2016-05-11 13:32
686 查看
Percona-tookit下载地址[包含软件和用户手册]: https://www.percona.com/software/mysql-tools/percona-toolkit 部分内容参考了前人的博客:http://bbs.chinaunix.net/thread-3751657-1-1.html
先安装perl依赖关系
根据网上的方法,执行如下2条命令
默认安装的是32个工具,如下:
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-kill
pt-mext
pt-mysql-summary
pt-online-schema-change
pt-pmp
pt-query-digest
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
查看命令帮助的话,可以使用 perldoc /usr/local/bin/pt-*** 或者 pt-*** --help
percona-toolkit主要使用在MySQL主从环境中,因此我们先来搭建MySQL主从复制环境。操作如下:
搭建MySQL主从测试环境
系统版本:CentOS 6.7 X86_64
MySQL版本:官方5.6通用二进制包
主节点:192.168.2.11 node1
从节点:192.168.2.12 node2
MySQL的安装过程略过,直接贴主从的配置过程。
node1主节点(192.168.2.11):
node2从节点(192.168.2.12):
清除原有的/data/mysql数据,重新初始化
测试主从同步:
在主节点node1上随便增加几个数据库,在node2的从节点可以看到数据库已经自动同步过来了,并且show slave status\G可以看到变化,如下图。
至此,我们的主从复制环境就搭建好了。
下文将一一举例percona-toolkit里面的工具的使用。
先安装perl依赖关系
yum install perl perl-devel libaiolibaio-devel perl-Time-HiRes yum install perl-TermReadKey perl-IO-Socket-SSL perl-DBD-MySQL
rpm -ivh percona-toolkit-2.2.17-1.noarch.rpm结果报了个错误如下(xxxxxcpio read):
根据网上的方法,执行如下2条命令
lsattr /usr | grep bin chattr -i /usr/bin仍不能解决,遂放弃。改用编译安装。编译安装方法如下:
tar xf percona-toolkit_2.2.17-1.tar.gz cd percona-toolkit-2.2.17/ perl Makefile.PL make test make install一系列的工具自动安装到/usr/local/bin目录下。【如果是rpm包的,释放到目录/usr/bin下】
默认安装的是32个工具,如下:
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-kill
pt-mext
pt-mysql-summary
pt-online-schema-change
pt-pmp
pt-query-digest
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
查看命令帮助的话,可以使用 perldoc /usr/local/bin/pt-*** 或者 pt-*** --help
percona-toolkit主要使用在MySQL主从环境中,因此我们先来搭建MySQL主从复制环境。操作如下:
搭建MySQL主从测试环境
系统版本:CentOS 6.7 X86_64
MySQL版本:官方5.6通用二进制包
主节点:192.168.2.11 node1
从节点:192.168.2.12 node2
MySQL的安装过程略过,直接贴主从的配置过程。
node1主节点(192.168.2.11):
# mysqldump -uroot -proot --all-databases --flush-logs--master-data=2 > /root/all.sql然后查看head -30/root/all.sql 找到类似“CHANGE MASTER” 记录下。
# scp /root/all.sql root@192.168.2.12:/root
node2从节点(192.168.2.12):
清除原有的/data/mysql数据,重新初始化
# cd /data/mysql # rm -fr * # /usr/lcoal/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql # /etc/init.d/mysqld start # mysql -uroot -S /tmp/mysql.sock > source /root/all.sql > CHANGE MASTER TO MASTER_HOST ='192.168.2.11', MASTER_USER='repl', MASTER_PASSWORD='123456', MASTER_PORT=3306, MASTER_LOG_FILE='node1.000018', MASTER_LOG_POS=120, MASTER_CONNECT_RETRY=10, # 当重新建立主从连接时,如果连接建立失败,间隔多久(单位为秒)后重试。 MASTER_HEARTBEAT_PERIOD=60; # 设置多长时间(单位为秒)探测一次主服务器是否在线 # 具体可以执行> help change master to 查看帮助命令 > SHOW SLAVE STATUS\G 【现在还未连接到主库,Seconds_Behind_Master值为NULL】 > SET GLOBAL slave_net_timeout = 360; # 如果360秒没有接收到数据则认为网络超时,之后slave的IO线程会重新连接Master > START SLAVE; > SHOW SLAVE STATUS\G 【注意:Seconds_Behind_Master指的是SQL线程和IO线程之间的延迟】
测试主从同步:
在主节点node1上随便增加几个数据库,在node2的从节点可以看到数据库已经自动同步过来了,并且show slave status\G可以看到变化,如下图。
至此,我们的主从复制环境就搭建好了。
下文将一一举例percona-toolkit里面的工具的使用。
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复