CentOS7下安装percona-toolkit工具包的安装

本文详细介绍了在CentOS环境下安装Percona Toolkit的过程,包括检查与安装Perl相关模块,下载并安装Percona Toolkit工具包,以及解决安装过程中可能遇到的错误,如GPG密钥问题和my.cnf文件冲突。

一、检查和安装与Perl相关的模块

依赖检查命令为  rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL

应该有以上四个依赖包,如果没有,请使用下面的命令安装

yum install perl-DBI

yum install perl-DBD-MySQL

yum install perl-Time-HiRes

yum install perl-IO-Socket-SSL

二、下载percona-toolkit工具包

1、下载工具包percona-toolkit

参照:https://www.percona.com/doc/percona-toolkit/3.0/installation.html#installing-percona-toolkit-on-red-hat-or-centos

# yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

 

2、查看可以安装的工具包

yum list | grep percona-toolkit

3、安装percona-toolkit工具包

yum install -y percona-toolkit

出现以下页面即为成功

如果这一步出现了错误,

错误一:

The GPG keys listed for the "Percona-Release YUM repository - x86_64" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: Percona-Server-shared-56-5.6.45-rel86.1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Percona


解决办法

yum update percona-release

错误二:

Transaction check error:
  file /etc/my.cnf from install of Percona-Server-shared-56-5.6.45-rel86.1.el7.x86_64 conflicts with file from package mysql-community-server-8.0.17-1.el7.x86_64

Error Summary
 

这里说明提示在my.cnf文件中, Percona-Server-shared与mysql-community-server冲突,需要安装mysql-community-libs-compat 才可以搞定

  1、本地环境检查

[root@VM_0_10_centos src]# more /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 
[root@VM_0_10_centos src]# rpm -qa|grep -i mysql 
mysql-community-common-8.0.17-1.el7.x86_64
mysql-community-libs-8.0.17-1.el7.x86_64
mysql-community-server-8.0.17-1.el7.x86_64
mysql-community-client-8.0.17-1.el7.x86_64

通过上面的查看,确实没有libs-compat包安装到本机,可以通过两个办法解决,一个是通过yum直接下载mysql-community-libs-compat(如果之前你是使用yum安装mysql的话),而我是使用本地文件解压安装,所以要去本地的文件夹下找到这个安装包,将其安装。

解决办法一:

yum install mysql-community-libs-compat -y 

解决办法二:

找到当成安装mysql的解压包

在当前路径下使用rpm  -ivh  mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm --nodeps  --force安装

rpm  -ivh  mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm --nodeps  --force

成功解决该问题

 

3、最后使用yum install -y percona-toolkit再次进行安装,成功安装完成

yum install -y percona-toolkit

4、检验安装是否成功pt-query-digest --help

成功安装,接下来可以探索其他的玩法了!

参考博文链接:https://www.cnblogs.com/h--d/p/9320776.html

https://aqzt.com/5366.html

<think>嗯,用户问的是在CentOS 7的ARM架构里下载Percona-Toolkit。首先,我需要确认Percona-Toolkit是否有支持ARM架构的包。Percona通常为x86_64提供官方包,但ARM的支持可能有限,特别是对于较旧的CentOS 7。 用户可能是在使用基于ARM的服务器,比如AWS的Graviton实例或者树莓派之类的设备。他们可能遇到了安装问题,因为默认的Percona仓库可能不包含ARM的包。这时候需要检查是否有可用的ARM包,或者需要从源码编译。 另外,用户可能已经尝试过用yum安装,但发现没有可用的包,导致需要寻找替代方法。这时候需要考虑从源码编译安装,或者使用Docker容器来运行x86的版本,不过ARM上运行x86容器可能需要模拟,可能会有性能问题。 还需要注意依赖项,比如Perl的模块DBD::mysql,之前用户的问题里提到了这个模块的问题,可能需要确保这些依赖在ARM架构下正确安装。此外,CentOS 7的软件包可能比较旧,需要确认Percona-Toolkit的版本是否兼容。 如果Percona官方不提供ARM的RPM包,可能需要从源码编译。这时候需要指导用户安装必要的编译工具和依赖项,比如gcc、make、Perl开发包等。然后下载源码,进行编译安装。 另外,用户可能不太熟悉从源码安装,所以步骤需要详细,比如如何下载源码包,解压,运行构建命令,处理可能的依赖错误等。同时,提醒用户检查环境变量和路径设置,确保安装工具可以正确运行。 也有可能用户希望使用Docker来避免编译,但需要确认是否有ARM兼容的Percona-Toolkit镜像。如果有官方或社区提供的ARM镜像,可以推荐使用,否则可能需要自己构建Docker镜像。 还需要考虑长期维护的问题,比如通过源码安装后如何更新,或者是否有其他替代工具可以在ARM架构下使用。可能还需要建议用户联系Percona支持,确认是否有计划提供ARM的官方包,或者寻找其他兼容的工具。 最后,总结可能的解决方案:检查官方仓库是否有ARM包,若无,则从源码编译或使用Docker,并处理相关依赖问题。同时提供详细的步骤和注意事项,确保用户能顺利完成安装。</think>--- ### **一、安装准备** #### **1. 确认系统架构** ```bash # 查看CPU架构信息 uname -m # ARM架构应显示:aarch64 或 armv7l ``` #### **2. 安装基础依赖** ```bash # 安装编译工具链 sudo yum install -y gcc make perl-devel openssl-devel libaio # 安装MySQL客户端库 sudo yum install -y mysql-devel ``` --- ### **二、安装Percona-Toolkit** --- #### **方案1:通过源码编译(推荐)** ```bash # 安装CPAN模块管理工具 sudo yum install -y perl-CPAN # 下载源码包 wget https://www.percona.com/downloads/percona-toolkit/3.5.4/source/tarball/percona-toolkit-3.5.4.tar.gz # 解压并编译 tar zxvf percona-toolkit-3.5.4.tar.gz cd percona-toolkit-3.5.4 perl Makefile.PL make sudo make install ``` --- #### **方案2:使用预编译RPM(需验证可用性)** ```bash # 添加Percona仓库(可能不提供ARM包) sudo yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm # 尝试安装(如果仓库支持ARM) sudo yum install -y percona-toolkit ``` --- ### **三、关键配置步骤** #### **1. 验证Perl模块兼容性** ```bash # 检查核心依赖 perl -e 'use DBI; use DBD::mysql; print "Modules ready\n"' # 若报错需手动安装: sudo cpan -i DBI DBD::mysql ``` #### **2. 设置动态库路径** ```bash # 添加MySQL库路径(根据实际安装位置调整) export LD_LIBRARY_PATH=/usr/lib64/mysql:$LD_LIBRARY_PATH # 永久生效 echo 'export LD_LIBRARY_PATH=/usr/lib64/mysql:$LD_LIBRARY_PATH' >> ~/.bashrc ``` --- ### **四、版本兼容性说明** | 组件 | ARM支持情况 | 验证方法 | |--------------------|----------------------|------------------------------| | Percona-Toolkit | 官方未明确支持 | 源码编译测试通过 | | DBD::mysql | 需自行编译 | `perl -MDBD::mysql -e 1` | | CentOS 7 | 内核需≥3.10.0-1160 | `uname -r` | --- ### **五、常见问题处理** #### **1. 编译时出现`Can't locate ExtUtils/MakeMaker.pm`** ```bash # 安装Perl开发包 sudo yum install -y perl-ExtUtils-MakeMaker ``` #### **2. 运行时缺少`libmysqlclient.so`** ```bash # 创建符号链接(路径根据实际情况调整) sudo ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so sudo ldconfig ``` --- ### **六、替代方案建议** #### **方案1:使用Docker容器** ```bash # 运行官方x86镜像(需qemu模拟) docker run --platform linux/amd64 -it percona/percona-toolkit pt-online-schema-change # 注意:ARM架构运行x86镜像会有性能损耗 ``` #### **方案2:使用MySQL Utilities** ```bash # 安装MySQL官方工具集 sudo yum install -y mysql-utilities ``` --- ### **七、版本选择建议** | 需求场景 | 推荐版本 | 注意事项 | |--------------------|---------------------|-------------------------------| | 生产环境 | 最新稳定版(≥3.5.4) | 需完整测试ARM兼容性 | | 开发测试 | 3.3.x系列 | 降低对新版Perl的依赖 | --- ### **八、安装验证** ```bash # 检查工具是否可用 pt-table-checksum --version # 预期输出示例: pt-table-checksum 3.5.4 ``` --- ### **九、长期维护建议** 1. **源码更新**: ```bash # 定期检查新版本 git clone https://github.com/percona/percona-toolkit.git ``` 2. **依赖监控**: ```bash # 使用cpanminus管理Perl模块 sudo cpan App::cpanminus sudo cpanm --installdeps . ``` --- **总结**:在ARM架构的CentOS 7安装Percona-Toolkit,**优先选择源码编译方式**。需特别注意Perl模块与MySQL客户端库的兼容性,必要时手动配置动态链接库路径。若遇到官方包不可用的情况,可考虑容器化方案或改用MySQL原生工具
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值