Hello! The main problem is that DBD::mysql touches internal libmariadb.so structures which for obvious reasons do not have stable nor documented API.
In DBD::MariaDB I replaced this code by usage of public Connector/C API. But for buggy Perl application this may cause incompatibility. Changes are in this pull request: https://github.com/gooddata/DBD-MariaDB/pull/63 To prevent breakage of other Perl modules which uses DBD::mysql I strongly suggest to stick with MySQL Connector/C or use MariaDB 10.0 or 10.1 which is known to work. One of the reason why I forked and created DBD::MariaDB instead of touching DBD::mysql is support for MariaDB 10.2+, 10.3+. Basically touching these parts of DBD::mysql code may cause problems for applications which misuse bugs in DBD::mysql. There was long discussion about it 2 years ago and people decided that it rather should not be changed. (Reason for fork and move to DBD::MariaDB). If you want to prevent any possible breakage, then you have no other option and should stick with either MySQL 5.5-5.7 or with MariaDB 10.0/10.1. And if you really want to update MariaDB to 10.3, I strongly suggest to also update packages from DBD::mysql to DBD::MariaDB. For DBD::MariaDB we have large test coverage with different MySQL and MariaDB versions, including MariaDB 10.3 and 10.4 series, see: https://travis-ci.org/gooddata/DBD-MariaDB Seems that in DBD::mysql upstream rather decided to drop MariaDB 10.3 support as trying to fix it, see: https://github.com/perl5-dbi/DBD-mysql/commit/0c4fee5d928efdf937fdf5fdba5f4873b01848ef And rather started fixing support for MySQL 8.0 series: https://github.com/perl5-dbi/DBD-mysql/commit/08df02eabf08de62a5e363fbf852ca51f685a8ce Maybe another option can be inclusion of MySQL 8.0 for DBD::mysql?