# Percona toolkit execution failure

**URL:** <https://forums.percona.com/t/percona-toolkit-execution-failure/34610>\
**Category:** Other MySQL® Questions\
**Tags:** mysql, percona\
**Created:** [October 25, 2024, 9:43pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610 "2024-10-25T21:43:29Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Leszek\_Kotzian](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/leszek_kotzian/32/18660_2.png) [@Leszek\_Kotzian](https://forums.percona.com/u/Leszek_Kotzian)\
**Post date:** [October 25, 2024, 9:43pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/1 "2024-10-25T21:43:29Z")

</div>

The attempts to run Percona toolkit programs are failing with following error, for example:  
$ pt-heartbeat …

install\_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.  
Compilation failed in require at (eval 37) line 3, line 1.

at /usr/bin/pt-heartbeat line 2964.  
$

That happens on:  
OS: AlmaLinux 9  
Perl: This is perl 5, version 32, subversion 1 (v5.32.1) built for x86\_64-linux-thread-multi  
DBM: perl-DBD-MySQL.x86\_64 1:4.050-4.el9 @pdps-8.0.36-release-x86\_64  
Percona toolkit: pt-heartbeat 3.6.0

Can anybody please advise on this matter?  
With regards  
Leszek Kotzian

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [October 25, 2024, 10:37pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/2 "2024-10-25T22:37:45Z")

</div>

Hello @Leszek_Kotzian,  
AlmaLinux is not one of our supported operating systems. However, it looks like you need to install perl DBD::mysql from our repo, and update dbd::mysql to the latest versions. This is not an issue with pt-heartbeat, but an issue with your perl install.

---

<div class="post-metadata">

**Author:** ![Brian\_Minton](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/brian_minton/32/19270_2.png) [@Brian\_Minton](https://forums.percona.com/u/Brian_Minton)\
**Post date:** [December 5, 2024, 8:36pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/3 "2024-12-05T20:36:23Z")

</div>

I’m having the same issue with Alma 9, and using the version of the perl module from the pt release repository: perl-DBD-MySQL-1:4.050-5.el9.x86\_64

---

<div class="post-metadata">

**Author:** ![Brian\_Minton](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/brian_minton/32/19270_2.png) [@Brian\_Minton](https://forums.percona.com/u/Brian_Minton)\
**Post date:** [December 6, 2024, 2:51pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/4 "2024-12-06T14:51:40Z")

</div>

I’m also having the same issue with Alma 9. If I use the version of the module from the Percona-Toolkit repository, it fails. If I use the stock alma 9 appstream version, it works.

```auto
]# yum install https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/perl-DBD-MySQL-4.050-13.el9.x86_64.rpm
Repository 'Percona-Toolkit' is missing name in configuration, using id.
Last metadata expiration check: 1:25:29 ago on Fri 06 Dec 2024 08:25:07 AM EST.
perl-DBD-MySQL-4.050-13.el9.x86_64.rpm 2.2 MB/s | 145 kB 00:00
Dependencies resolved.
===================================================================================================================================
 Package Architecture Version Repository Size
===================================================================================================================================
Downgrading:
 perl-DBD-MySQL x86_64 4.050-13.el9 @commandline 145 k

Transaction Summary
===================================================================================================================================
Downgrade 1 Package

# pt-show-grants
-- Grants dumped by pt-show-grants
-- Dumped from server Localhost via UNIX socket, MySQL 11.4.4-MariaDB-log at 2024-12-06 09:51:11

```

---

<div class="post-metadata">

**Author:** ![victor\_Martinez](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/victor_martinez/32/19738_2.png) [@victor\_Martinez](https://forums.percona.com/u/victor_Martinez)\
**Post date:** [January 10, 2025, 1:16pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/5 "2025-01-10T13:16:52Z")

</div>

I have the same issue with 3.7 in my case we were using the docker configuration  
[https://raw.githubusercontent.com/percona/percona-docker/main/percona-toolkit/Dockerfile](https://raw.githubusercontent.com/percona/percona-docker/main/percona-toolkit/Dockerfile)

---

<div class="post-metadata">

**Author:** ![svetasmirnova](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/svetasmirnova/32/21_2.png) [@svetasmirnova](https://forums.percona.com/u/svetasmirnova)\
**Post date:** [January 16, 2025, 2:12pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/6 "2025-01-16T14:12:38Z")

</div>

The issue is likely related to the MariaDB client library that is installed by default instead of MySQL’s. Please install percona-server-client package from Percona repository.

---

<div class="post-metadata">

**Author:** ![svetasmirnova](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/svetasmirnova/32/21_2.png) [@svetasmirnova](https://forums.percona.com/u/svetasmirnova)\
**Post date:** [January 16, 2025, 2:32pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/7 "2025-01-16T14:32:23Z")

</div>

Please also ensure you have DBD::MySQL installed. Better to install the latest version from the Percona repository too.

---

<div class="post-metadata">

**Author:** ![svetasmirnova](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/svetasmirnova/32/21_2.png) [@svetasmirnova](https://forums.percona.com/u/svetasmirnova)\
**Post date:** [January 22, 2025, 1:42pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/8 "2025-01-22T13:42:41Z")

</div>

The reason for the issue was an outdated DBD::MySQL package in Percona repositories, thus broken Docker images. It has been fixed as part of [Jira](https://perconadev.atlassian.net/browse/PKG-426) Please try again and let us know if you hit any issue with updated images.

Thank you very much for reporting this issue!

---

<div class="post-metadata">

**Author:** ![nunop](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nunop](https://forums.percona.com/u/nunop)\
**Post date:** [February 14, 2025, 10:57pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/9 "2025-02-14T22:57:19Z")

</div>

I’m getting this problem since I pulled the latest `percona/percona-toolkit` docker image.

Whatever last version I had, it was able to connect to the current `percona:8.0` MySQL instance, using a `.sock` file.

The output was saying there was a new version, so I pulled the latest version (of the toolkit), and now I get this:

> install\_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.  
> Compilation failed in require at (eval 36) line 3.
> 
> at /usr/bin/pt-variable-advisor line 2092.

The host is AlmaLinux, but I’d think it doesn’t make any difference, since it’s on Docker?

Same for `pt-online-schema-change`:

> Cannot connect to MySQL: install\_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.  
> Compilation failed in require at (eval 37) line 3.
> 
> at /usr/bin/pt-online-schema-change line 2345.  
> 18 at /usr/bin/pt-online-schema-change line 8918.

---

<div class="post-metadata">

**Author:** ![nunop](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nunop](https://forums.percona.com/u/nunop)\
**Post date:** [February 14, 2025, 11:02pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/10 "2025-02-14T23:02:35Z")

</div>

Sorry - just read your last reply here better. Yeah, doesn’t seem fixed for me! I’m using the latest version. See my reply above.

---

<div class="post-metadata">

**Author:** ![nunop](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nunop](https://forums.percona.com/u/nunop)\
**Post date:** [February 14, 2025, 11:11pm UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/11 "2025-02-14T23:11:05Z")

</div>

`perconalab/percona-toolkit` doesn’t seem to have this problem.

Which should I be using??

`perconalab/percona-toolkit`, or `percona/percona-toolkit` ?

`perconalab/percona-toolkit` was updated 23 days ago  
`percona/percona-toolkit` was updated 22 days ago

Are they not the same thing?

Thank you.

EDIT - looks like `perconalab/percona-toolkit` is running 3.5.2, while the other runs 3.7.0. That could explain why the lab one doesn’t crash. The driver error is a regression in recent versions.

Also doesn’t crash in `percona/percona-toolkit:3.6`

---

<div class="post-metadata">

**Author:** ![svetasmirnova](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/svetasmirnova/32/21_2.png) [@svetasmirnova](https://forums.percona.com/u/svetasmirnova)\
**Post date:** [February 15, 2025, 12:28am UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/12 "2025-02-15T00:28:01Z")

</div>

Could you please try with percona/percona-toolkit:3.7.0 and perconalab/percona-toolkit:3.7.0? They work for me:

```auto
sveta@s76:~/src/sveta$ docker run -it percona/percona-toolkit:3.7.0 bash
bash-5.1$ pt-align --version
pt-align 3.7.0
bash-5.1$ pt-heartbeat -D test --update h=127.0.0.1,P=12345,u=msandbox,p=msandbox
DBI connect('test;host=127.0.0.1;port=12345;mysql_read_default_group=client','msandbox',...) failed: Can't connect to MySQL server on '127.0.0.1:12345' (111) at /usr/bin/pt-heartbeat line 3043.
bash-5.1$ exit
exit
sveta@s76:~/src/sveta$ docker run -it perconalab/percona-toolkit:3.7.0 bash
bash-5.1$ pt-align --version
pt-align 3.7.0
bash-5.1$ pt-heartbeat -D test --update h=127.0.0.1,P=12345,u=msandbox,p=msandbox
DBI connect('test;host=127.0.0.1;port=12345;mysql_read_default_group=client','msandbox',...) failed: Can't connect to MySQL server on '127.0.0.1:12345' (111) at /usr/bin/pt-heartbeat line 3043.
bash-5.1$ 

```

---

<div class="post-metadata">

**Author:** ![nunop](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nunop](https://forums.percona.com/u/nunop)\
**Post date:** [February 15, 2025, 12:45am UTC](https://forums.percona.com/t/percona-toolkit-execution-failure/34610/13 "2025-02-15T00:45:59Z")

</div>

Thank you.  
`percona/percona-toolkit:3.7.0` seems to work.  
Something wrong with the default/latest tag, then.
