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 ?
- MariaDB est Open Sours alors que MySQL est sous double licence, libre et propriétaire,
- MariaDB est totalement compatible avec les commandes MySQL donc pas de soucis pour nos scripts PHP,
- Apparement MariaDB serait plus performant que MySQL (a voir !)
- Surtout c’est que la société se garde de communiquer sur certains rapport de bug.
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:
- https://www.lekernelpanique.fr/2013/03/01/faut-il-passer-a-mariadb-le-fork-de-mysql/
- http://www.framablog.org/index.php/post/2013/07/18/mysql-ou-pas
- http://www.o2-graphics.fr/34-o2-blog-fr/16-migration-de-mysql-51-vers-mariadb-55-sous-debian-squeeze-fr
- http://www.zdnet.fr/actualites/google-rallie-mariadb-au-detriment-d-oracle-mysql-39794040.htm
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 »]
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:
- https://downloads.mariadb.org/mariadb/repositories/#mirror=nwps&distro=Debian&distro_release=wheezy&version=10.0
- https://mariadb.com/kb/en/mariadb/documentation/getting-started/configuring-mariadb-for-remote-client-access/
[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]
Bonjour,
Cette procédure n’est pas valable pour un raspberry sous raspbian car le dépot ne contient pas les entrées nécessaire.
Impossible de récupérer http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian/dists/wheezy/Release Impossible de trouver l’entrée « main/binary-armhf/Packages » attendue dans le fichier « Release » : ligne non valable dans sources.list ou fichier corrompu
tu peux essayer avec:
deb http://repository.pi3g.com/debian/ wheezy main
sudo wget -O /etc/apt/sources.list.d/repository.pi3g.com.list http://repository.pi3g.com/sources.list
wget -O - http://repository.pi3g.com/pubkey | sudo apt-key add -
source: http://blog.pi3g.com/2014/07/easy-mariadb-installation/
Bonjour, Merci de la réponse. C’est effectivement la solution que j’ai utilisé sans souci.
Cordialement