6

Debian Stretch will likely be released in the middle of this year.

mysql-server-5.x will no longer be available and is replaced with mariadb-server-10.1. i don't feel i'm ready for the big step and moving to MariaDB, i'd prefer to stay with mysql 5.6 or - even better - 5.7. what would you recommend - using 5.7 from debian's unstable repository? going with the oracle-provided packages? some other options?

thanks!

pQd
  • 29,561
  • 5
  • 64
  • 106
  • 12
    Nope, I'd recommend you go with MariaDB. You'll only be four years behind everyone else who already made the switch. – Michael Hampton Mar 26 '17 at 10:00
  • 1
    Agreed with @MichaelHampton. I've done a bunch of these conversions, and in every case, it's "just worked", requiring no client nor server configuration changes other than removing the MySQL server packages and installing MariaDB. – EEAA Mar 26 '17 at 13:20
  • And i advise you to use MariaDB 10.1. I use it on Centos7 last year. I added mariadb repository from Percona site. Maybe you can find such repository for stable debian version. Many different optimisations you can get by default. Also indexes can be recreated more 100 times quickly. – Mikhail Khirgiy Mar 26 '17 at 16:01
  • As an alternative you can use percona. We have done plenty migrations mysql - percona, whithout any issues so far. – Yarik Dot Mar 28 '17 at 15:07

3 Answers3

7

Unless you are actually using 5.6+-specific features, then mariadb is to all intents and purposes fully compatible.

Or, as the wikipedia article on mariadb puts its:

MariaDB version numbers follow the MySQL's numbering scheme up to version 5.5. Thus, MariaDB 5.5 offers all of the MySQL 5.5 features

Keep in mind, too, that mariadb's lead developer is Monty - mysql's original author.

Unless you are concerned about support for code you specifically wrote for mysql 5.6+, then I don't think there is a compelling reason for avoiding mariadb (beyond personal taste and possibly support options).

If you do need 5.6+ features, then I would suggest you check if your specific needs are supported (and possibly, assess the 'cost' of making some alterations).

Most things that 'require' mysql that I've run or installed, for some years now, seem to be entirely happy to use mariadb, and mariadb has an explicit intent to be a drop-in for the (now) Oracle MySQL.

You don't mention what concerns you have about the switch, but I would suggest you at least consider re-assessing your fears about MariaDB - all else aside, you may find it makes your (operations') life easier to use your chosen distro's default choices than needing to deal with integrating alternatives.

iwaseatenbyagrue
  • 3,588
  • 12
  • 22
4

There seems to be no technical reason why you should not go forward with the Oracle provided-packages (they've committed to publish debian stretch packages). Of course, there are several non-technical angles that took a lot of users to MariaDB, and you might also want to factor them. But this is serverfault, and I rather prefer to see questions and answers being written around technical issues instead of political ones.

If switching to MariaDB is a technical "big step" (unusual, but possible...), by all means stay with MySQL 5.6 or take the "small step" to 5.7. Due diligence is required here...

Distro choices will save you setup work, but that's their ONLY added value. I do not typically attach much importance to that, it is ultimately an Ops choice. In (my) DevOps world, I tend to choose the tools that make the developers/testers happier and more productive, and trust Ops to be able to deploy, even at the expense of "more setup hours" (typically a one-of event, instead of a continuous activity as dev/test).

Two extra cents:

  1. Do not let laziness define your environment. Check MariaDB!

  2. Stay away from the unstable repositories. Most of the time they are OK, but the database is not something you want to use without "enough eyeballs".

Miguel Caldas
  • 371
  • 2
  • 5
3

Maria and Percona are both drop-in replacements for MySQL. Moving from MySQL to Maria would be a smaller step than upgrading to a newer version of MySQL, particularly if you're using a non-standard storage engine. (InnoDB became the default as of version 5.5.5; MyISAM was the default before then.)

Maria claims to be a drop-in replacement for MySQL. https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/

Wikipedia migrated from MySQL to MariaDB. http://www.infoworld.com/article/2614268/open-source-software/wikipedia-dumps-mysql--hooks-up-with-mariadb.html

Google migrated from MySQL to MariaDB. http://www.zdnet.com/article/google-quietly-dumps-oracle-mysql-for-mariadb/

Red Hat uses MariaDB instead of MySQL. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/chap-Red_Hat_Enterprise_Linux-7.0_Release_Notes-Web_Servers_and_Services.html

SUSE Enterprise Linux uses MariaDB instead of MySQL. https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12/#fate-316482

Arch uses MariaDB instead of MySQL. https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/

This question might be a candidate for https://dba.stackexchange.com/.

Oracle Corporation has a vested interest in preventing open source database software from interfering with their commercial product. That alone is not a reason to distrust MySQL, but it's a notable fact.

durette
  • 164
  • 8