Webmin MariaDB Module Still Requires DBD::mysql Even When DBD::MariaDB Is Installed (Rocky Linux 9.7 + MariaDB 10.11)

SYSTEM INFORMATION
OS type and version Rocky Linux 9.7
Webmin version 2.610
Usermin version 2.510
Virtualmin version 7.50.2 Professional
Theme version 26.20
Apache version 2.4.62
Package updates All installed packages are up to date

Environment

  • MariaDB 10.11.15 (official repo)
  • Perl 5.32
  • DBI installed
  • DBD::MariaDB installed and working
  • DBD::mysql unavailable (conflicts with MariaDB 10.11)

Hello everyone,

After upgrading my server from Rocky Linux 9.6 to 9.7, Webmin started showing this warning:

“The Perl module DBD::mysql is not installed… Webmin will not be able to reliably access your MariaDB database.”

However, my setup only uses MariaDB 10.11.x (from the official MariaDB.org repository), and I have successfully installed and configured DBD::MariaDB, which works correctly with DBI.

Here is some important context about how this situation came up:


Initial Server Setup

Before installing Virtualmin/Webmin on Rocky Linux 9.5:

  1. I disabled the Rocky AppStream MariaDB 10.5 module, because WordPress requires MariaDB 10.6+.
  2. I installed MariaDB 10.11.x from official MariaDB upstream.
  3. I likely did not disable the MySQL 8.x module at that time.
  4. Then I installed Virtualmin/Webmin.

During that installation, Webmin automatically installed:

  • perl-DBD-MySQL

and everything worked as expected.

Upgrading from 9.5 → 9.6 produced no conflicts.


Conflicts Appear Only in Rocky Linux 9.7

When upgrading to Rocky Linux 9.7, the new MySQL module stream caused conflicts with MariaDB 10.11 client libraries.
To complete the upgrade, I had to:

  • disable the MySQL 8.x module
  • remove perl-DBD-MySQL
  • add DNF exclude rules + versionlocks
  • proceed with the upgrade

After this, DBD::mysql cannot be installed anymore (neither via package nor CPAN) because it is ABI-incompatible with MariaDB 10.11.


DBD::MariaDB Installed and Working

I installed DBD::MariaDB successfully and updated Webmin configuration:

:check_mark: Use DBI to connect if availableYES

:check_mark: Path to MariaDB shared libraries directory

/usr/local/lib64/perl5/5.32

Test command:

perl -MDBD::MariaDB -e 'print "OK\n"'

Output:

OK

So DBD::MariaDB is working and DBI can load it properly.


But Webmin Still Shows Warning for DBD::mysql

Even with the correct MariaDB driver installed, Webmin still requires:

DBD::mysql

and does not detect DBD::MariaDB.

This may also affect Webmin’s Backup/Restore functionality, because the module internally prefers the MySQL driver only.


What I believe needs adjustment

  • If MariaDB server is detected, Webmin should also accept DBD::MariaDB
  • The module should not require DBD::mysql when MariaDB-only systems cannot install it (Rocky Linux 9.7 enforces ABI incompatibility with DBD::mysql when MariaDB 10.11 is used)
  • When DBI + DBD::MariaDB work correctly, the warning should disappear

This behavior did NOT occur on Rocky Linux 9.5 or 9.6 — only after the 9.7 update changed MySQL module streams.


If needed, I can provide logs, additional tests, or configuration details.
Thank you in advance!

have you seen this - maybe answers your question
https://forum.virtualmin.com/t/webmin-2-6-not-available-yet/135883

Thanks for the link! I read through that discussion — it seems to focus on a different issue (the MYSQL_OPT_RECONNECT deprecation warnings and a Webmin patch related to that).

In my case, the core problem is not related to that patch.
My issue is that Webmin’s MariaDB module still requires DBD::mysql, even when:

  • MariaDB 10.11.x is the only database installed
  • DBD::mysql cannot be installed anymore on Rocky Linux 9.7 (ABI conflict)
  • DBD::MariaDB is installed, tested, working and detected by DBI
  • Webmin does not recognize DBD::MariaDB and still displays a warning

So this seems to be a different underlying problem — not the one solved by the patch in that thread.

Thanks again for pointing it out!

Just an additional note, since I saw a related discussion where @Ilia mentioned that:

“The protocol is the same, but the MariaDB version of the driver is maintained by the MariaDB team and aims to match MariaDB features better.”

This makes perfect sense for my setup, since:

  • I’m using MariaDB 10.11.x only

  • DBD::MariaDB is fully functional on my system

  • DBD::mysql cannot be installed anymore on Rocky Linux 9.7 due to ABI conflicts

  • Webmin still refuses to accept DBD::MariaDB and continues to require DBD::mysql

So this looks like a case where Webmin should support both drivers depending on the environment, instead of requiring only DBD::mysql.

Happy to run additional tests if needed!

1 Like

How can we check if this situation applies to us?

You can check it easily with the following two commands:

perl -MDBD::mysql -e ‘print “$DBD::mysql::VERSION\n”’
perl -MDBD::MariaDB -e ‘print “$DBD::MariaDB::VERSION\n”’

If:

DBD::mysql fails to load (or prints nothing)

DBD::MariaDB loads correctly

you’re running MariaDB 10.11.x on Rocky Linux 9.7 (or any system where DBD::mysql cannot be installed due to ABI conflicts)

…then the situation applies to you exactly.

I got nothing back from:

perl -MDBD::mysql -e ‘print "$DBD::mysql::VERSION\n'"

bur from :

perl -MDBD::MariaDB -e 'print "$DBD::MariaDB::VERSION\n"'

I got 1.21

Confirmed — that output means the issue applies to your setup as well :+1:

ok thank you for confirming.
I will watch this thread for a resolution

Also experiencing this issue on Alma 9.7.

Same output