En matière de bases de données (relationnelles), MySQL est un vainqueur incontesté.
Mais il a désormais une sérieuse concurrence !
Contrairement à d’autres comparaisons de bases de données, celle entre MySQL et MariaDB n’a qu’un minimum de valeur réelle et objective. Ils sont presque identiques (et il y a un certain temps, ils étaient identiques !), ont les mêmes structures de répertoire et la même syntaxe, et les mêmes performances.
Oui, après la version 10 de MariaDB, les choses ont commencé à diverger plus rapidement, mais même la commande pour lancer MariaDB s’appelle `mysql` !
Alors, pendant que vous êtes ici pour apprendre comment migrer de MySQL à MariaDB, je pense qu’il va être très intéressant d’apprendre d’où vient ce concurrent soudain. Si vous êtes novice en matière de MySQL, vous pouvez envisager de suivre ce cours en ligne.
L’histoire de MariaDB
Sans me lancer dans une encyclopédie complète, permettez-moi de passer en revue les points principaux.
MySQL a été initialement lancé en 1995 par Michael Widenius pour offrir une alternative aux offres restrictives et coûteuses telles que SQL Server de Microsoft ou Oracle’s suit. Et le reste, comme on dit, c’est de l’histoire : MySQL est devenu si populaire que les développeurs ont rapidement oublié que SQL et MySQL étaient deux choses différentes. Les estimations varient, mais on peut dire que MySQL occupe près de 45 % du marché des bases de données à l’heure actuelle.
Pour faire court, MySQL a été racheté par Sun Microsystems, qui a lui-même été racheté par … . Oui, Oracle. En conséquence, le plus grand moteur de base de données open-source appartenait désormais à l’entreprise commerciale de base de données la plus prospère au monde. Pour les créateurs originaux de MySQL, c’était le glas d’un moteur de base de données utilisé et apprécié par des millions de personnes.
Ils craignaient qu ‘Oracle ne s’intéresse qu’à l’incroyable base d’utilisateurs de MySQL, qu’il tue lentement l’esprit du projet et qu’il le commercialise à grande échelle.
C’est ainsi qu’une version de MySQL sous licence GPL pure, appelée MariaDB, a vu le jour en 2010.
Maintenant, devriez-vous migrer vers MariaDB ?
Il est difficile d’argumenter dans un sens ou dans l’autre, et pour les développeurs indépendants, cela ne fait pas de différence. En termes de popularité, MariaDB est encore loin de MySQL mais commence à être connu.
Par exemple, la FAQ sur l’installation de WordPress mentionne MySQL et MariaDB dans le même souffle.
Pour les grandes équipes qui travaillent sur des solutions à long terme, cela dépend de la confiance qu’elles accordent à Oracle pour garder intacts les idéaux originaux de MySQL. Il est difficile de dire qu’ils appliqueront du jour au lendemain des conditions de licence draconiennes, mais ce n’est pas impensable non plus.
Combinez cela avec le fait que MariaDB peut innover plus rapidement et sera bientôt incompatible avec MySQL à un niveau fondamental, et il y a de bonnes raisons de passer à autre chose. Pour le moment, cela n’a pas d’importance et, à part quelques entreprises paranoïaques, les utilisateurs de MySQL restent là où ils sont.
Comment migrer de MySQL à MariaDB ?
La migration de MySQL vers MariaDB est l’une des migrations les plus ridiculement faciles que vous ferez dans votre vie. Il n’y a rien à faire, et vous vous direz “C’est tout ?!” une fois la migration terminée. En gros, tout ce que vous avez à faire, c’est.. :
- Assurez-vous que votre gestionnaire de paquets a accès à MariaDB.
- Arrêtez MySQL.
- Installez MariaDB
Et voilà, c’est fait !
Par exemple, si vous êtes sur Ubuntu 18.04, la première étape est d’ajouter les sources de MariaDB à votre système comme ceci :
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://suro.ubaya.ac.id/mariadb/repo/10.3/ubuntu bionic main'
sudo apt-get update
Il est maintenant temps d’arrêter MySQL :
sudo service mysql stop
puis d’installer MariaDB, qui se lancera une fois l’installation terminée :
apt install mariadb-server
Et ensuite… Rien !
Oui, c’est ça – vous avez réussi à migrer de MySQL à MariaDB. Je sais, c’est impossible à croire.
Je veux dire, il doit y avoir plus que 2 ou 3 commandes ?
Qu’en est-il du dumping et de l’importation des bases de données ?
Qu’en est-il des utilisateurs de bases de données, des mots de passe et des privilèges ?
Qu’en est-il des paramètres d’optimisation (pour les administrateurs de bases de données) ?
Honnêtement, rien de tout cela n’ est nécessaire. MariaDB est un remplacement “direct” de MySQL. N’oubliez pas qu’il s’agit simplement d’un dérivé open-source du projet MySQL existant, et qu’il est donc nécessairement identique. Comme je l’ai déjà dit, les différences s’accentueront avec le temps, mais pour l’instant, il n’y a rien à faire, à part arrêter MySQL et installer MariaDB 🙂
Si vous n’y croyez toujours pas (ce que j’admire !), je vous encourage à consulter la documentation officielle sur la migration, qui se veut rassurante :
Vous avez décidé de passer de MySQL à MariaDB, mais vous êtes un peu nerveux. La dernière chose que vous souhaitez, c’est de vous embourber dans un bourbier de ruptures. Ne vous inquiétez pas, car MariaDB est conçu pour remplacer MySQL. Vous devriez pouvoir installer MariaDB sur votre serveur MySQL et continuer à travailler sans problème.
J’espère que cette question est réglée. Ne vous inquiétez pas, j’ai personnellement migré quelques bases de données MySQL sans aucun problème, il n’y a donc rien à craindre 🙂
Enfin, si vous êtes sur une plateforme différente d’Ubuntu 18.04, MariaDB dispose d’un outil utile qui peut générer les commandes nécessaires que vous n’avez qu’à copier et coller.
Avant de clore cet article, un mot d’avertissement : faites une sauvegarde de vos fichiers de données MySQL avant d’effectuer une mise à niveau.
Tout aussi important, faites des recherches approfondies sur la compatibilité de la version de MariaDB que vous installez si vous utilisez des outils tiers pré-intégrés (comme Magento, Drupal, etc.).