MySQL vs MariaDB

Is upgrading transparent?

I’d say that it would be transparent for many, perhaps most. However, on one particular server that I manage for a client, the client had a ton of old Joomla 1.0, 1.5 and 2.5 sites. For whatever reason, after conversion to MariaDB, I had issues with some of the old Joomla sites.

1. On a couple of sites, the Docman stuff in the old Joomla quit working (could not upload documents).

This was because /usr/my.cnf on a MariaDB server has by default:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

And I couldn’t use the STRICT_TRANS_TABLES directive and support those ancient sites. I had to change sql_mode to:

sql_mode=NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO

NOTE: I do not recommend that anybody do that. Obviously the strict_trans_tables directive in place for a reason. But it caused troubles for those sites that I Xpress Transferred from a cPanel server running MySQL 5.6 to a cPanel server running Maria DB 10.00 until I modified the sql_mode.

2. On quite a few of the Joomla sites, apostrophes were and some other normal characters were replaced with strange characters

I’m running CL on all servers. This turned out to be an issue with these particular old flaky Joomla sites having been Xpress transferred from a CL/cPanel/MySQL 5.6 box to a CL/cPanel/MariaDB 10 box as well.

In this case though, for the specific sites, I had to disable the mysql mysqli, and pdo_mysql modules in PHP Selector and enable the nd_mysql, nd_mysqli and nd_pdo_mysql modules.

NOTE: This only happened on a bunch of ancient Joomla sites, all belonging to the same customer.

Aside from those things listed above, I have never had any issue with new accounts being added to MariaDB 10.0 server, or with migrating hundreds of other accounts (using Xpress Transfer) from a MySQL server to a MariaDB 10.0 server. I had done account transfers from CL/cPanel/MySQL 5.6 servers to CL/cPanel/MariaDB 10.0 servers many times before I transferred those particular Joomla sites, and I have transferred countless accounts from CL/cPanel/MySQL 5.6 servers to CL/cPanel/MariaDB 10.0 servers since I transferred those Joomla sites. I’ve never encountered a single issue aside from transferring those ancient Joomla sites with Docman and a bunch of other components on them.

MariaDB is supposed to be a drop-in replacement. But you can’t ever expect that switching 100s of customers will result in zero problems and 100% satisfaction every time.

And the good news is that even on those Joomla sites that weren’t working until I made changes, the main parts of all of the sites actually worked — some sites just displayed weird characters instead of apostrophes, and on other sites the client wasn’t able to upload documents using Docman. So it’s not like I had a server full of screaming customers. I had time to figure it out.