I installed libdbd-mysql-perl, percona-server-common,percona-toolkit and libperconaserverclient21 packages, ALL from Percona.
I used pt-table-sync a few weeks again and it worked fine. Today I did an apt update + upgrade which installed new Percona versions: 8.0.44-35-1.bullseye.
This seems to break compatibility with libdbd-mysql-perl (1:5.013-1.bullseye), which makes pt-table-sync unusable:
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
Compilation failed in require at (eval 36) line 3.
at /usr/bin/pt-table-sync line 2256.
I also tried this:
$ perl -MDBD::mysql -e 'print $INC{"DBD/mysql.pm"}."\n"'
Can't load '/usr/lib/x86_64-linux-gnu/perl5/5.32/auto/DBD/mysql/mysql.so' for module DBD::mysql: /usr/lib/x86_64-linux-gnu/perl5/5.32/auto/DBD/mysql/mysql.so: undefined symbol: mysql_sqlstate at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 187.
at -e line 0.
Compilation failed in require.
BEGIN failed--compilation aborted.
There are no other (Debian) mysql client libraries installed. The Perl module comes from the Percona repository as also does the libperconaserverclient21.
OK this sounds more like the real solution to this problem!
It’s not easy not to lose track of the many possible repositories…
So “pt” will install the same tools? I hope that pt-table-sync will work the same way, i.e. take the same parameters as the version from the “tools” repository.