MySQL est le SGBDR Open Source de référence, il occupe 56% des parts du marché, mais la donne pourrait bien changer suite au rachat de MySQL par Oracle.

L’alternative qui monte est un fork de MySQL qui s’appelle MariaDB crée par Monty Widenius. Cette même personne est déjà à l’origine du projet MySQL.

Pourquoi migrer sous Mariadb ?

D’autres se sont penché sur le problème, d’ailleurs Google, Synology ont fait le pas de migrer de MySQL vers MariaDB.

et voici des liens intéressants:

Et un article qui explique pourquoi rester sur MySQL.

Installation

On récupère une clé pour la signature du code, et on ajoute les repo

sudo apt-get install python-software-properties
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian wheezy main'

Si vous avez des soucis du type:

gpg:	demande de la clef 1BB943DB sur le serveur hkp keyserver.ubuntu.com
gpg:	le délai d'attente du serveur de clefs a expiré
gpg:	échec de récéption depuis le serveurs de clefs: erreur de serveur de clefs

 Ne pas oublier de désactiver le firewall !!

vous pouvez vérifier dans le fichier /etc/apt/sources.list que ces sources sont maintenant présentes :

# MariaDB 10.0 repository list
# http://mariadb.org/mariadb/repositories/
deb http://nwps.ws/pub/mariadb/repo/10.0/debian wheezy main
deb-src http://nwps.ws/pub/mariadb/repo/10.0/debian wheezy main

puis mettre à jour la liste des sources:

apt-get update

et finalement proceder à l’installation:

apt-get install mariadb-server

L’installation se passe comme pour MySQL, vu MariaDB est un fork …

[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »]

-mariadb-set-root-password

Saisir son mot de passe administrateur 2 fois

C’est la seule question, action à faire.

Configuration

La configuration de MariaDB se fait comme MySQL dans le fichier /etc/mysql/my.cnf.

Dans ma configuration j’ai besoin que le serveur MariaDB soit accessible depuis d’autres serveurs il faut donc commenter bind-address dans le fichier de configuration:

[/fusion_builder_column][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][mysqld]
    ...
    #skip-networking
    ...
    #bind-address = <some ip-address>
    ...

Autoriser si vous avez mis en place un firewall l’émission en sortie sur le port 3306:

# Mysql - Maria DB
iptables -t filter -A OUTPUT -p tcp -d xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT
iptables -t filter -A INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT

ou xxx.xxx.xxx.xxx est l’adresse du client distant qui va requêter.

et finir par créer un utilisateur depuis la console MySQL:

mysql -u root -p

Les requêtes SQL:

CREATE USER 'votreUtilisateur'@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'SuperMotDeP@sse2Ouf+-';
CREATE DATABASE nomDeLaBaseDeDonnee;
GRANT ALL PRIVILEGES ON nomDeLaBaseDeDonnee.* TO 'votreUtilisateur'@'xxx.xxx.xxx.xxx';
FLUSH PRIVILEGES;

Pour aller plus loin voici un exemple de migration d’une base de données WordPress de MySQL vers MariaDB.

Je reparlerai surement plus tard, dans un prochaine article du tunning sur MariaDB.

Sources:

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]