We have a few issues/prs hanging out right now that will benefit from this decision.
MariaDB 10.0 - https://github.com/Varying-Vagrant-Vagrants/VVV/issues/876
MySQL 5.6 - https://github.com/Varying-Vagrant-Vagrants/VVV/issues/928
MySQL 5.7 - https://github.com/Varying-Vagrant-Vagrants/VVV/pull/930 (thanks @LoreleiAurora for the PR!)
I'm personally leaning toward MariaDB.
MariaDB is probably going to win the popularity contest, but the "_best_" route I guess depends on the goal of the project.
While I'm MariaDB is most popular among this crowd, I don't see it becoming "mainstream" in the sense that hosts will use MySQL vanilla.
per: https://wordpress.org/about/stats/
10.0/10.1 = 3%
5.6 = 19.5%
5.7 = 0.8%
5.6 userbase will likely end up on 5.7 in the future, whenever major web hosts upgrade.
So, if the goal is emulate production (though we have php7 so we're already away from most prod environments) then 5.6 or 5.7 would probably be the better way to go. If we want to go with what (some may say, but vs 5.7 not sure if it's totally the same story) may be more performant. I haven't looked at what is more performant than the others, 5.7 vs older versions I believe is more performant in MySQL itself... but vs MariaDB not sure.
Bit of a rambling mess but basically it comes down to do you want to go with what is used most often, or something else.
Unless we're going to internally leverage any of the features that we get with MariaDB 10, I vote for MariaDB/MySQL 5.6 for parity with hosts. We can always use a custom provision script to change DB engines if needed for special cases.
There is also the 4th option of installing MySQL/MariaDB side by side using MySQL Sandbox.
@LoreleiAurora I forgot about that! - https://github.com/Varying-Vagrant-Vagrants/VVV/issues/835
MySQL Sandbox supports MySQL 5.x, MariaDB, and Percona, so the question on this ticket might be rephrased as - what should the default be?
In that case, it may make sense to stick with MySQL so that all we're doing is changing the PPA or something else small.
Sandbox would be a good solution. Default IMO would be better suited as vanilla MySQL, pick your version poison either 5.6 due to 20% usage, or 5.7 to be on latest. Then those who want to test other drop in replacements can easily do so.
Why do you assume those currently on MySQL 5.5 would upgrade to MySQL 5.7? MariaDB is the only option available in RedHat/CentOS and SUSE variants, and starting from the next Debian release it will be the default in the Debian ecosystem too. It is expected that most of those 5.5 users upgrade to MariaDB 10.0.
Also note that the page https://wordpress.org/about/stats/ lists only version numbers, not vendor. We don't how many of those 5.5 users are on MySQL5.5 and how many are on MariaDB 5.5.
Using the Sandbox seems like over-engineering. Just apt-get install mariadb-server or mysql-server and use the tested and secure packages that the distribution provide.
@ottok Sandboxes allow us to unit test against all versions of MySQL & MariaDB the same way PHPbrew does for PHP.
As a host I can attest that we switched our clients without much problems to MariaDB
MariaDB ++
Can we at least provide MySQL 5.6 to provide minimum WP requirements and move the choice to MariaDB or MySQL 5.7 after that?
Why not just go for MariaDB 10.0 directly, as MariaDB seems to be the most voted option here and MariaDB 10.0 is available in Ubuntu repos, and fullfills all WordPress requirements perfectly.
After this vulnerability and the response of the DB vendors, I think it's time to jump straight to MariaDB 10.
http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html
@morganestes I don't really see your point here.
After this vulnerability and the response of the DB vendors, I think it's time to jump straight to MariaDB 10.
Reading the first lines of the page:
MySQL clones are also affected, including:
MariaDB
PerconaDB
I realise that versions are not mentioned, but this is not a situation that would be exclusive to MySQL.
I realize it's a rather long CVE, but if you read down to section IX,
you'll see that Percona and MariaDB have patches as of Aug. 30. Oracle's
patch cycle won't have a fix until October.
I prefer vendors that are responsive and patch early.
I vote for the upgrade to MariaDB 10.1. Most of hosts I work with and our own production server run on MariaDB.
I'd love it if Vagrant came out of the box with either MySQL 5.7 or MariaDB 10.1. I've installed MariaDB 10.1.17 on a clean Vagrant box manually and it was a breeze.
@jeremyfelt is there anything any of us can do to move this forward?
MariaDB +
I think the advantage of sandbox is huge: testing in different environments is a great plus, and quickly matching production environments to local a la php-switcher would be a big win.
In terms of popularity contents, I'm seeing lots of 5.6 and some 5.7 environments in my day-to-day dev. A little Amazon Aurora and MariaDB too.
Ok, thanks for all the discussion everyone. I'm going to close this in favor of #876 (MariaDB) and #835 (MySQL Sandbox). Patches on either of those are more than welcome! :)
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
@jeremyfelt is there anything any of us can do to move this forward?