Mariadb

MariaDB est un système de gestion de base de données créé par Michael Widenius (créateur de MySQL) en 2009. MariaDB est 100% compatible avec MySQL, ce qui permet une migration facile et sans risque. A noter que la version 5.5 de MariaDB inclue des fontionalités de la version 5.6 de MySQL et utilise XtraDB de Percona comme moteur pour les formats de table InnoDB.

Installation

mariadb étant encore marqué en test dans l’arbre de portage, il vous faudra démasquer les paquets suivants :

echo "virtual/mysql" > /etc/portage/package.accept_keywords/virtual/mysql
echo "dev-db/mariadb" >> /etc/portage/package.accept_keywords/dev-db/mariadb

Procédez ensuite à son installation :

emerge -av mariadb

Et lancez la commande suivante afin de créer les bases par défaut et initialiser le compte root de l’instance mariadb

emerge --config =dev-db/mariadb-5.5.28

Démarrez le service mariadb :

/etc/init.d/mysql start
rc-update add mysql default

Et effectuez la première connexion :

mysql -u root -p

Profitez de votre installation MariaDB.

Migration

Cette procédure part du principe que vous avez le paquet >=dev-db/mysql-5.5 de fonctionnel sur votre machine. Il vous faudra donc démasquer le paquet dev-db/mariadb comme ce qui suit par exemple :

echo "dev-db/mariadb" > /etc/portage/package.accept_keywords/dev-db/mariadb

Il n’est jamais acte inutile que de faire une sauvegarde de ses bases de données avant une “migration”… :-)

mysqldump -S /run/mysqld/mysqld.sock --opt -Q -A --quick --complete-insert > myfile.sql

Vérifiez votre version mysql installée :

equery list dev-db/mysql

Faites-en un paquet qui vous permettra de revenir en arrière :

quickpkg dev-db/mysql

Stoppez le service MySQL :

/etc/init.d/mysql stop

Installez la version correspondante pour le paquet dev-db/mariadb :

emerge -aC dev-db/mysql && emerge -av mariadb

Une fois l’installation terminée, démarrez votre service mariadb :

/etc/init.d/mysql start

Lancez une vérification des tables :

mysql_upgrade

A partir de là vous pouvez utiliser mariadb avec les mêmes commandes que mysql.

Liens