返回顶部
首页 > 资讯 > 数据库 >mysql执行执行pt-query-digest报错的原因
  • 721
分享到

mysql执行执行pt-query-digest报错的原因

2024-04-02 19:04:59 721人浏览 泡泡鱼
摘要

这篇文章主要介绍“Mysql执行执行pt-query-digest报错的原因”,在日常操作中,相信很多人在mysql执行执行pt-query-digest报错的原因问题上存在疑惑,小编查阅了各式资料,整理出

这篇文章主要介绍“Mysql执行执行pt-query-digest报错的原因”,在日常操作中,相信很多人在mysql执行执行pt-query-digest报错的原因问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql执行执行pt-query-digest报错的原因”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

文章目录

  • 操作环境

  • 问题

  • 分析问题


操作环境

[root@three57 mysql57_dir]# more /etc/redhat-release 
Red Hat Enterprise linux Server release 6.8 (SantiaGo)
  • pt-query-digest版本

[root@three57 mysql57_dir]# pt-query-digest --version
pt-query-digest 3.1.0

问题

  • 执行pt-query-digest报错

[root@three57 percona-toolkit-3.1.0]# pt-query-digest --interval=2 --processlist -uroot -psystem
Reading from STDIN ...
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
Compilation failed in require at (eval 23) line 3.

分析问题

  • 经查baidu与perl的mysql.so库文件相关

[root@three57 percona-toolkit-3.1.0]# locate mysql.so
/usr/lib64/perl5/auto/DBD/mysql/mysql.so
  • 分析perl的mysql.so库文件的依赖库是否完整,可见缺失libmysqlclient.so.16

[root@three57 percona-toolkit-3.1.0]# ldd /usr/lib64/perl5/auto/DBD/mysql/mysql.so
	linux-vdso.so.1 =>  (0x00007ffcf6dd4000)
	libmysqlclient.so.16 => not found                      确实没找到mysql动态链接库
	libz.so.1 => /lib64/libz.so.1 (0x00007f9b0e1cb000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9b0df94000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f9b0dd7b000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f9b0daf6000)
	libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f9b0d88a000)
	libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f9b0d4a6000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f9b0d111000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f9b0cf0e000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f9b0ccca000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f9b0c9e2000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f9b0c7de000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f9b0c5b2000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f9b0c397000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f9b0c193000)
	/lib64/ld-linux-x86-64.so.2 (0x000000381da00000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f9b0bf88000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f9b0bd84000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9b0bb67000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f9b0b947000)
  • libmysqlclient.so这种库文件源于mysql安装介质

mysql执行执行pt-query-digest报错的原因

  • 查询已安装的mysql软件包

[root@three57 mysql57_dir]# rpm -qa|grep -i --color mysql
mysql-commUnity-common-5.7.21-1.el6.x86_64
mysql-community-server-5.7.21-1.el6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-community-libs-5.7.21-1.el6.x86_64
mysql-community-client-5.7.21-1.el6.x86_64
  • 查询已安装的libmysqlclient库文件

[root@three57 mysql57_dir]# locate /usr/lib64/mysql/libmysqlclient.so.20
/usr/lib64/mysql/libmysqlclient.so.20
/usr/lib64/mysql/libmysqlclient.so.20.3.8
  • 综上所述,应该需要安装mysql软件包mysql-community-libs-compat

     (注:它是提供mysql旧版本的共享库文件)

[root@three57 mysql57_dir]# rpm -ivh mysql-community-libs-compat-5.7.21-1.el6.x86_64.rpm
warning: mysql-community-libs-compat-5.7.21-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql-community-libs-co########################################### [100%]
[root@three57 mysql57_dir]# locate libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient.so.16.0.0
  • 执行ldd /usr/lib64/perl5/auto/DBD/mysql/mysql.so正常

[root@three57 mysql57_dir]# ldd /usr/lib64/perl5/auto/DBD/mysql/mysql.so
	linux-vdso.so.1 =>  (0x00007ffd3fee9000)
	libmysqlclient.so.16 => /usr/lib64/mysql/libmysqlclient.so.16 (0x00007f346d4e3000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f346d2cd000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f346d095000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f346ce7c000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f346cbf8000)
	libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f346c98b000)
	libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f346c5a7000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f346c213000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f346c00f000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f346bdcb000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f346bae4000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f346b8df000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f346b6b3000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f346b499000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f346b294000)
	/lib64/ld-linux-x86-64.so.2 (0x000000381da00000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f346b089000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f346ae86000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f346ac68000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f346aa49000)

到此,关于“mysql执行执行pt-query-digest报错的原因”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql执行执行pt-query-digest报错的原因

本文链接: https://lsjlt.com/news/59958.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql执行执行pt-query-digest报错的原因
    这篇文章主要介绍“mysql执行执行pt-query-digest报错的原因”,在日常操作中,相信很多人在mysql执行执行pt-query-digest报错的原因问题上存在疑惑,小编查阅了各式资料,整理出...
    99+
    2024-04-02
  • golang执行chroot报错
    Golang 是一种新兴的编程语言,它在最初的设计中,致力于解决大规模开发复杂系统的问题。由于其高效的并发处理能力和简洁易读的语法,Golang 迅速赢得了广泛的关注和使用。在 Golang 中,Chroot 是一种重要的安全机制,用于隔离...
    99+
    2023-05-14
  • MySQL 高级原理: MySQL执行过程及执行顺序
    一、MySQL执行过程 MySQL整体的执行过程如下图所示 1.1 连接器 1.1.1连接器的主要职责 负责与客户端的通信,是半双工模式,这就意味着某一固定时刻只能由客户端向服务器请求或者服务器向客户端发送数据,而不能同时进行,其中MyS...
    99+
    2023-10-23
    数据库 mysql 服务器
  • SQL 语句执行很慢的原因
    大多数情况是正常的,只是偶尔会出现很慢的情况 网络问题 数据库在刷新脏页 获取锁失败,我们可以用 show processlist这个命令来查看当前的状态 刷脏页有下面4种场景(后两种不用太关注“性能”问题): ...
    99+
    2019-02-04
    SQL 语句执行很慢的原因
  • php怎么无法执行mysql命令行?原因分析
    如果你在 PHP 程序里面尝试运行 MySQL 命令行却遭遇失败,那么你可能会遇到以下报错信息:sh: mysql: command not found或者是:sh: 1: mysql: not found如果你遇到了这样的问题,那么很有可...
    99+
    2023-05-14
    php
  • crontab定时任务不执行的原因
    1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止。如果停止了就无法执行任何定时任务了,解决的方法是打开它: crond或service crond start...
    99+
    2023-10-21
    服务器 linux centos
  • 关于@Scheduled不执行的原因分析
    目录@Scheduled不执行的原因1. 今天用@Schedule做了一个定时任务2. 首先遇到查到的一个解决方案3. 还有版本说要在spring4. 又查到版本说要在Bean上加上...
    99+
    2024-04-02
  • sql语句执行缓慢的原因分析
    这篇文章主要介绍“sql语句执行缓慢的原因分析”,在日常操作中,相信很多人在sql语句执行缓慢的原因分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”sql语句执行缓慢的原因...
    99+
    2024-04-02
  • SpringAop @Around执行两次的原因及解决
    在使用AOP环绕通知做日志处理的时候,发现@Around方法执行了两次,虽然这里环绕通知本来就会执行两次,但是正常情况下是在切点方法前执行一次,切点方法后执行一次,但是实际情况却是,...
    99+
    2024-04-02
  • mysql执行sql脚本报错怎么解决
    当MySQL执行SQL脚本出现错误时,可以尝试以下方法解决: 检查SQL语法:确保SQL语句的语法是正确的,没有拼写错误、缺少分...
    99+
    2024-02-29
    mysql sql
  • MySql执行失败的原因及解决方法是什么
    MySql执行失败的原因有很多种,以下是常见的一些原因及解决方法:1. 语法错误:在编写SQL语句时,可能会出现语法错误,比如拼写错...
    99+
    2023-09-14
    MySql
  • MySQL执行update语句和原数据相同会再次执行吗
    背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 测试环境 MySQL5.7.25 Centos 7.4 bi...
    99+
    2024-04-02
  • 执行root.sh报错:CLSRSC-196: ACFS d
    oracle 19c已经发布了快一年了,在AIX和Linux上面安装的次数也不少了,安装的方法也层出不穷,最常用的就是图形化了,可以避免静默安装发现不了的问题。今天帮助一位朋友安装oracle 19c ra...
    99+
    2024-04-02
  • Mybatis执行报错 Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment [java.lang.NullPointerException]
    发现了Mybatis一个很不直观的错误,从字面上根本看不出哪里有问题 异常详情: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibat...
    99+
    2023-09-27
    mybatis java mysql
  • DBeaver执行SQL报错——No active connection
    DBeaver执行SQL报错——No active connection 1. 问题描述 在执行SQL过程中,开始可以正常执行,突然报错如下所示,显示“无活动的连接” 2. 处理方法 处理方法很简单: 老玩家(简略步骤):新建SQL编辑器...
    99+
    2023-08-17
    sql 数据库 mysql
  • Linux中crontab定时任务不执行的原因
    最近在linux中遇到了个crontab定时任务不执行的case,在这给大家分享一下,避免踩到我遇到的坑。 先贴脚本吧 为了方便展示,把脚本入参,都写死了 #!/usr/bin/env bash # 1输出文件,到...
    99+
    2022-06-04
    crontab 任务不执行 crontab 定时任务
  • MySql的执行顺序
    mysql执行顺序如下: from 阶段 where 阶段 group by 阶段 having 阶段 select 阶段 order by 阶段 limit 阶段 按照以上书写顺序,完整的执行顺...
    99+
    2023-08-31
    mysql 数据库 java
  • mysql报错注入学习笔记 语句的执行
    学习到mysql 数据库 利用报错进行注入,整理了一下个人的学习笔记,仅限于个人的理解。数据库名--------注入语句   得到数据库名and(select 1 from(selec&...
    99+
    2024-04-02
  • 详解MySQL kill 指令的执行原理
    kill 指令有两种写法 " kill query + 线程 id "、" kill connection(可缺省) + 线程 id "。分别表示关闭指定线程正在执行的语句、断开指定线程...
    99+
    2022-05-27
    MySQL kill MySQL 指令
  • mysql执行sql脚本报错ERROR 1366 (HY000) 解决
    mysql执行sql脚本是有两种方式: 方式1: 在控制台下,进入mysql的bin目录, mysql -u user -p"password" -P 3308 -D testdb < d:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作