Pt-kill is not working after moving from mysql_native_password to cashing_sha2_password

Hi Friends, I am using mysql8.0.34 and all client libraries are latest i.e. 8.0.34 but after moving from mysql_native_password to cashing_sha2_password all is good except percona tool kit utilities like pt-kill, pt-archiver etc are not working getting below error message -

DBI connect(‘;host=127.0.0.1;mysql_read_default_group=client’,‘zafar’,…) failed: Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory at /bin/pt-kill line 2095.

As I know oracle has been removed cashing_sha2_password.so library and now it has been merged in another main library but here percona utilities are trying to search it while mysql client is able to connect with mysql server successfully via related library after this change. So if percona utility need this file then how I can install it or it’s any alternate. Till now I am not getting any solution in any post.

[root@test]# yum list installed | grep client
dhclient.x86_64                         12:4.2.5-83.el7.centos.1       @updates
libsmbclient.x86_64                     4.10.16-25.el7_9               @updates
libwbclient.x86_64                      4.10.16-25.el7_9               @updates
mysql-commercial-client.x86_64          8.0.34-1.1.el7                 @/mysql-commercial-client-8.0.34-1.1.el7.x86_64
mysql-commercial-client-plugins.x86_64  8.0.34-1.1.el7                 @/mysql-commercial-client-plugins-8.0.34-1.1.el7.x86_64
openldap-clients.x86_64                 2.4.44-25.el7_9                @updates
openssh-clients.x86_64                  7.4p1-23.el7_9                 @updates
pmm2-client.x86_64                      2.40.0-6.el7                   @percona-release-x86_64
samba-client-libs.x86_64                4.10.16-25.el7_9               @updates
sssd-client.x86_64                      1.16.5-10.el7_9.15             @updates

I will be very thankful if some one can help here or can provide some clue.

https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

  • The client-side plugin is built into the libmysqlclient client library and is available to any program linked against libmysqlclient.

The percona toolkit should be looking for the libmysqlclient.so library, which has the sha2 inside. Most of the toolkit is Perl. Have you updated to the latest Perl DBD/DBI::mysql?

@matthewb First of all thanks for your reply, we are using Perl 5.16 version as you see below and which is the latest compatible version with centos7.

[root@test]# perl --version

This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi

I am also sharing few more details for better understanding-

OS Version is-

[root@test]# cat /etc/*release*
CentOS Linux release 7.9.2009 (Core)

mysql version is-

[root@test]# mysqld --version
/.../mysqld  Ver 8.0.34-commercial for Linux on x86_64 (MySQL Enterprise Server - Commercial)

percona tool kit (pt-kill) version is-

[root@test]# pt-kill --version
pt-kill 3.5.5

Please help me how I can come out from this issue.

I recommend installing the Percona yum repos and installing the latest DBD/DBI::Mysql package from our repo. I don’t know if this is the exact fix. This is the problem with running modern apps on outdated OS. :man_shrugging:

Please check the version of driver

ps -ef | grep -i perl-dbd-mysql

you need to have at least version 4.050.
Driver drives the authentication.
Try to install it from percona repo and it should work

@matthewb thanks for your support.

@yunus_shaikh : thank you very much to pinpoint this information to resolve the issue. After upgrading perl-DBD-mysql version from 4.023 (which is officially latest updated version compatible with centos7) to 4.050 it is working fine.