?
avatar PhilETaylor
PhilETaylor
19 Feb 2017

The current system requirements for Joomla are documented here:

https://downloads.joomla.org/technical-requirements

Officially the project has not supported MariaDB as of yet.

Joomla "works ok" on MariaDB at the moment

Joomla should officially support MariaDB and MySQL independently and specifically, even if that only means declaring it on the FAQ above

(I know there is at least one MariaDB specific issue I have raised in the past #11979, only to be told MariaDB is not officially specifically supported and therefore it would not be resolved - so there are differences between MariaDB and MySQL already)

Previous comments:

From @brianteeman: "And this is why we do not say we support mariadb"

From @andrepereiradasilva: "most linux distros now use mariadb. Imho joomla should already officially support mariadb..."

From @mbabker: "It's not that Joomla can't." ... "there is no difference between MySQL, MariaDB, Percona, or any of the other "drop in MySQL replacements":

avatar PhilETaylor PhilETaylor - open - 19 Feb 2017
avatar joomla-cms-bot joomla-cms-bot - change - 19 Feb 2017
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 19 Feb 2017
avatar PhilETaylor PhilETaylor - edited - 19 Feb 2017
avatar PhilETaylor PhilETaylor - change - 19 Feb 2017
The description was changed
avatar PhilETaylor PhilETaylor - edited - 19 Feb 2017
avatar PhilETaylor PhilETaylor - change - 19 Feb 2017
The description was changed
avatar PhilETaylor PhilETaylor - edited - 19 Feb 2017
avatar mbabker
mbabker - comment - 19 Feb 2017

This should be taken to the websites issue repo. There is no code change that can be done so at best this is a documentation change and nothing more.

I still stand by past arguments that we can't "officially" support any drop in replacement for MySQL because the underlying binaries are all using MySQL therefore we cannot make code detections for these platforms and apparently version checks are unreliable for various reasons.

Also, if MariaDB is in any way listed, this would IMO mandate that all drop in replacements (including Percona) must be listed for the same reasons.

avatar PhilETaylor
PhilETaylor - comment - 19 Feb 2017

However can you guarantee that the "drop in replacements" will not fork to provide their own features/bugs/issues in the future? Those projects dont always provide 100% b/c with mysql do they?

avatar mbabker
mbabker - comment - 19 Feb 2017

AFAIK they don't have 100% B/C but unless someone writes a binary level replacement for PHP they all run using either libmysqlclient or mysqlnd making feature/client detection pretty difficult.

avatar mbabker
mbabker - comment - 19 Feb 2017

Also, we've come up with an agreement in several past discussions to add a docs page listing environments that may work well but aren't "officially" supported (i.e. MariaDB, Percona, LiteSpeed for the HTTP server), but nobody has ever written that page so there's nothing to link to where these types of things can be added without making a somewhat bold change in the "official" requirements.

avatar yvesh
yvesh - comment - 19 Feb 2017

True, but it's something that needs to be watched in mid / long term.. The differences between MariaDB and MySQL getting bigger with every new version.. And a lot of features out of MySQL 5.7 are really intersting, like the JSON support..

avatar piotr-cz
piotr-cz - comment - 27 Feb 2017

I'm running quite large portal using J! and MariaDB (10.1.18-MariaDB-cll-lve), only issue I've had during one year is it's auto increment functionality.
Probably after J! update new rows in #__content were created with extra offset (id's were not sequential)
which is probably related to this SO question.

What about adding MariaDB to .travis.yml file?

avatar mbabker
mbabker - comment - 27 Feb 2017

What about adding MariaDB to .travis.yml file?

That'd be fair.

avatar yvesh
yvesh - comment - 27 Feb 2017

Not sure how useful it is to run the "unit" tests on mariadb also. But it's not a big change.. The most useful thing to run on mariadb are probably browser based tests we are working on..

avatar mbabker
mbabker - comment - 27 Feb 2017

Actually the unit/functional tests we have for the MySQL adapters now are a perfect thing to run against MariaDB. Because the main thing I'm worried about as our hosting is telling us we have to migrate joomla.org over to MariaDB is that it retains feature parity with MySQL and since right now there isn't an alternative C library or PHP extension MariaDB, Percona, and others are using the same client libraries to get from PHP to the database engine. So all we really need to worry about is the API returns (responses and data sets) match up.

avatar piotr-cz
piotr-cz - comment - 28 Feb 2017

The truth may be that more J! installations are currently running on MariaDB that it is assumed.

For example one of the hosts I'm using doesn't mention MariaDB anywhere, just MySQL.
I found out by coincidence as they offer to use MySQL version 5.5 or 10.1, so I checked in J! System Information.

avatar mbabker
mbabker - comment - 28 Feb 2017

3.8% of the sites reporting stats have an obviously MariaDB version number (5.2, 5.3, or 10.x; we don't have anything that would differentiate MariaDB 5.5 and MySQL 5.5).

avatar PhilETaylor
PhilETaylor - comment - 27 Mar 2017

it's something that needs to be watched in mid / long term..

avatar PhilETaylor PhilETaylor - change - 27 Mar 2017
The description was changed
Status New Closed
Closed_Date 0000-00-00 00:00:00 2017-03-27 16:11:44
Closed_By PhilETaylor
avatar PhilETaylor PhilETaylor - close - 27 Mar 2017
avatar BastianWie
BastianWie - comment - 24 Jul 2017

Can we please re-open this request? The reason is that with Debian "Stretch", the default MySQL variant is now MariaDB. The replacement of packages for MySQL 5.5 or 5.6 by the MariaDB 10.1 variant will happen automatically upon upgrade. (see here: https://www.debian.org/News/2017/20170617)... So if Joomla will not officially support MariaDB we might soon run into various issues (e.g. Questions, negative feedback, ...) as Debian is one from the most famous linux operations systems (please no flame here).

avatar mbabker
mbabker - comment - 24 Jul 2017

Nothing has changed from the previous discussion. We can't "officially" support any MySQL fork without supporting all of them because of underlying technical needs (until someone writes a C extension for PHP specifically for MariaDB or any of the other forks, the connections to those server instances use the existing MySQL libraries). So as long as those forks retain compatibility with the main feature set that MySQL offers and can continue to use the existing C binaries/libraries then Joomla should work with MariaDB, Percona, or other MySQL variants.

If things ever change where there is a separate C binary/library for MariaDB and a C extension for PHP is written, we can take steps to offer a specific adapter for MariaDB and inherently "officially" support it. Until then, things are generally working OK to the best of my knowledge and the only potential issues would be with trying to use MariaDB specific features (although that would be more of a limitation of the PHP extensions and C binaries/libraries than something Joomla is doing).

Add a Comment

Login with GitHub to post a comment