Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Bonjour à tous,
Aujourd’hui, on va voir comment passer de Mysql à MariaDB.
La première question qui doit vous venir à l’esprit, c’est : Qu’est ce que MariaDB ?
C’est un Fork libre et Open Source de Mysql qui est maintenu par les créateurs originels de Mysql.
Bon, c’est bien jolie tout ça, mais ça m’apporte quoi à moi ?
C’est simple, comme je l’ai déjà dit, MariaDB est totalement libre et Open Source, tout est fait de manière totalement transparente.
En plus de ça, ce système intègre un tas de nouveautés que je vous laisse voire ici et ici.
Pré-requis :
- Faire une sauvegarde de toutes vos bases de données
- Debian 7 en version 64 bits
Installation des dépôts :
On va installer un composant de Python et ajouter la clé d’authentification et le dépôt du CRNS en ligne de commande :
apt-get install python-software-properties apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db add-apt-repository 'deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian wheezy main'
Maintenant mettez à jour vos listes :
apt-get update
Migration de Mysql vers MariaDB :
Pour cet exemple, j’ai migré une installation de Mysql 5.5.37-0+wheezy1 vers MariaDB 10.0.12+maria-1~wheezy :
On va d’abord arrêter Mysql avec cette commande :
service mysql stop
Ensuite, on va installer MariaDB avec cette commande :
apt-get install mariadb-server
L’assistant va se charger de faire le transfert de Mysql vers MariaDB automatiquement sans supprimer vos bases de données.
Lorsque l’assistant vous demandera le mot de passe root pour MariaDB laissez le champ vide et appuyez sur entrer. Cela vous permettra de garder le mot de passe root que vous aviez avec Mysql :
Après l’installation, MariaDB devrait se relancer tout seul :
Installation de la nouvelle version du fichier de configuration /etc/logrotate.d/mysql-server ... Installation de la nouvelle version du fichier de configuration /etc/mysql/debian-start ... Installation de la nouvelle version du fichier de configuration /etc/init.d/mysql ... [ ok ] Stopping MariaDB database server: mysqld. [ ok ] Starting MariaDB database server: mysqld. [info] Checking for corrupt, not cleanly closed and upgrade needing tables..
Maintenant, on va lancer l’utilitaire de mise à jour pour vérifier les tables et les droits histoire que rien ne pose problème :
mysql_upgrade -p --force
Par exemple chez moi (je ne vous laisse pas les bases de données, vous devriez avoir une sortie plus longue) :
root@vpsXXXXX:~# mysql_upgrade -p --force Enter password: Phase 1/3: Fixing table and database names Phase 2/3: Checking and upgrading tables Processing databases XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Phase 3/3: Running 'mysql_fix_privilege_tables'... OK
Maintenant, redémarrez votre nouveau « Mysql » :
service mysql restart
Et surtout, vérifiez que vos applications fonctionnent bien 😉