So I propose that we do that. I’ll try to find some time to work on it but if someone else wants to do it, it’s fine too
Note that supporting it has a cost since it’s another DB to support and this means running all our tests on it which means using more CI Agent CPUs and time.
So I’d like to make sure we’re ok with that. Opinions?
Because of Debian (and most Linux distributions I think) decision to use MariaDB as mysql “implementation” more and more people end up using it so better support it officially.
Our main/recommended distribution is currently Debian and it’s not that trivial to replace the MariaDB package that comes with it with Oracle’s MySQL. If you upgrade from an older version of Debian you might also end up with MariaDB after an OS upgrade without realizing it.
So I guess we need to add a configuration with MariaDB, shouldn’t be really difficult, there’s an official docker image (https://hub.docker.com/_/mariadb/) and no doubt TC support it. We “just” need to chose the version we test.
So it’s really more a “feeling” answer, since I think I miss information about the usage of MySQL compared to MariaDB, but on my side I know it took me a bit of time to integrate to use MariaDB over MySQL on my machines, and we document at several places about using MySQL including in our docker images etc.
So I’m not sure I’d be in favor of dropping right away the support for it: maybe plan a schedule for dropping support on the long term, sure, but doing it as soon as we add support for MariaDB seems prematurate for me.
So one strategy could be that we only test on MariaDB, considering that this is also testing MySQL de facto, wait for someone to raise a problem on MySQL and if that happens then add back specific testing for MySQL.
Define our MySQL support not based on what’s avail in Debian but on a specific rule such as: we support the latest GA of MySQL (which is MySQL 8.0.20 today, see https://dev.mysql.com/downloads/mysql/).
If we want to be even nicer, we could say that we support the last 2 GAs but that feels a lot to me. The previous GA is currently 5.7.30.
Actually the strategies we have been following in the past is to not support the latest GA but the 2 previous ones, so for MySQL it would mean GA-2 and GA-1.
One thing I just noticed: contrary to the others (and to what they usually do) Ubuntu decided to not follow Debian on this and install MySQL 8 by default (i.e. when you install default-mysql-server). Current LTS (20.04) provide MySQL 8.0.20 and previous one (18.04) provides 5.7.30. See Ubuntu – Package Search Results -- mysql-server.