Provide a Percona-maintained version of perl-DBD-MySQL

Description

The toolkit is dependent on perl-DBD-MySQL, which means that the libraries are installed by default; the current latest version for CentOS 7 is perl-DBD-MySQL-4.023

This is built against mysql-devel, which is provided by MariaDB and is thus 5.5-based, so as a result it is not possible to force TLSv1.2 on 5.6->8.0 versions of MySQL and maintain use of the toolkit with secured connections.

Here is a clear example of an issue that arises as a result of this:

N.B. the last error is to be expected - display purposes only

As noted in , simply rebuilding against 5.7 from the source RPM is not possible due to net_buffer_length and against 8.0 will fail with even more issues. Additionally, as noted in and also perl5-dbi#issue264 TLS is not on by default.

Suggested fix is to build a suitable version of perl-DBD-MySQL against a recent 5.7 with OpenSSL, as that should be less work than against 8.0 and still allows TLSv1.2 plus authentication with the caching_sha2_password plugin.

Environment

None

Smart Checklist

Activity

Show:

Evgeniy Patlan December 7, 2021 at 2:55 PM

 thanks for the update.
I just check with basic perl script on debian buster and everything works fine for me.
For now I have blocked packages for the update and we will investigate the issue.

matthew December 7, 2021 at 2:46 PM

I'm honestly not sure what it's about.  On Debian Buster (10) we have a legacy application that runs under apache2 mod_perl2 (ModPerl::RegistryPrefork) and when the application script starts up and pre-caches all the modules apache2 just segfaults. 

 

 

Fortunately I had just updated the server packages and noticed that one of the packages was dbd::mysql.

Here are the percona repos we're using:

 

If I revert back to the previous version of dbd::mysql provided by the debian maintainers the problem goes away.

Evgeniy Patlan December 7, 2021 at 2:36 PM

 thanks for your feedback.
Could you please share a bit more info about your issue?

matthew December 7, 2021 at 2:32 PM

Looks like this was released libdbd-mysql-perl=1:4.050-3.buster by Percona and it's causing Segfaults.  I had to revert to the debian provided version 4.050-2  Glad I didn't push this into production, it would have brought everything down.

Leonardo Bacchi Fernandes August 11, 2021 at 3:38 PM

The percona-toolkit is shipped with perl-DBD-MySQL-4.023-6. Simply updating it to perl-DBD-MySQL-4.050-4+ is enough to get it to work with TLSv1.2. This package is already in the percona repository: https://repo.percona.com/pt/yum/release/7Server/RPMS/x86_64/perl-DBD-MySQL-4.050-4.el7.x86_64.rpm. A simple fix might be to just ship the toolkit with that perl-DBD-MySQL instead.

Done

Details

Assignee

Reporter

Needs QA

Yes

Time tracking

1w 2d 50m logged

Components

Priority

Smart Checklist

Created May 8, 2019 at 5:01 PM
Updated May 3, 2024 at 8:37 AM
Resolved May 3, 2024 at 8:37 AM