前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Percona-tookit学习笔记(一)

Percona-tookit学习笔记(一)

作者头像
保持热爱奔赴山海
发布2019-09-18 10:02:11
7360
发布2019-09-18 10:02:11
举报
文章被收录于专栏:数据库相关

Percona-tookit下载地址[包含软件和用户手册]:

https://www.percona.com/software/mysql-tools/percona-toolkit

部分内容参考了前人的博客:http://bbs.chinaunix.net/thread-3751657-1-1.html

先安装perl依赖关系

代码语言:javascript
复制
yum install perl perl-devel libaiolibaio-devel perl-Time-HiRes
yum install perl-TermReadKey perl-IO-Socket-SSL perl-DBD-MySQL
代码语言:javascript
复制
rpm -ivh percona-toolkit-2.2.17-1.noarch.rpm

结果报了个错误如下(xxxxxcpio read):

根据网上的方法,执行如下2条命令

代码语言:javascript
复制
lsattr /usr | grep bin
chattr -i /usr/bin

仍不能解决,遂放弃。改用编译安装。编译安装方法如下:

代码语言:javascript
复制
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):

代码语言:javascript
复制
# mysqldump -uroot -proot --all-databases --flush-logs--master-data=2 > /root/all.sql

然后查看head -30/root/all.sql 找到类似“CHANGE MASTER” 记录下。

代码语言:javascript
复制
# scp /root/all.sql root@192.168.2.12:/root

node2从节点(192.168.2.12):

清除原有的/data/mysql数据,重新初始化

代码语言:javascript
复制
# 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里面的工具的使用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/05/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档