Mariadb
Publié le 25 Septembre 2020,
Mis à jour le 13 Avril 2023,
Mariadb est un système de gestion de base de données libre sous license GPLv2. Il s'agit d'un fork de MySQL crée en 2009 suite au rachat par Sun Microsystem et Orcale par la suite. A l'inverse de MySQL, MariaDB est gérée par deux entités distinctes. La fondation MariaDB qui assure la gouvernance du projet et que celui-ci reste libre et la société Monty Program AB qui en assure la maintenance. Cette note me sert d'aide mémoire.
Créer un utilisateur et sa base de donées
CREATE DATABASE `mabase` ; GRANT ALL PRIVILEGES ON `mabase`.* TO "monlogin"@"%" identified by 'monpass'; FLUSH PRIVILEGES;
- Pour une connexion locale on remplace
%
parlocalhost
. - Pour une connexion sur un serveur dédié on replace
%
par l’adresse ip du serveur. - Le
%
*` permet de se connecter depuis n’importe quel machine public ou privé.
Sauvegarde et Restauration
Sauvegarder
Sauvegarder toutes les bases de données :
mysqldump --user=mon_user --password=mon_password --all-databases > fichier_destination.sql
Sauvegarder une base de données précise :
mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base > fichier_destination.sql
Sauvegarder plusieurs bases de données :
mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base_1 nom_de_la_base_2 > fichier_destination.sql
Sauvegarder une table précise :
mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base --tables nom_de_la_table > fichier_destination.sql
Sauvegarder plusieurs tables :
mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base --tables nom_de_la_table_1 nom_de_la_table_2 > fichier_destination.sql
Restaurer
Restaurer toutes les bases de données :
mysql --user=mon_user --password=mon_password < fichier_source.sql
Restaurer dans une base de données précise :
mysql --user=mon_user --password=mon_password nom_de_la_base < fichier_source.sql
Accès via le réseau local
Sur le Serveur
- Edition du fichier
50-server.cnf
vi /etc/mysql/mariadb.conf.d/50-server.cnf
- Chercher la ligne
bind-address = 127.0.0.1
- Remplacer par une adresse Ip du réseau local
bind-address = 192.168.0.125
- Redémarrer
sudo systemctl restart mariadb
Le serveur sql est maintenant accessible à toutes machines sur notre réseau local.
Il est recommandé de ne pas autoriser les connexions distantes via l'utilisateur root, mais plutôt de créer un utilisateur unique à chaque base de données.
Sur le Client
Installation du client MariaDB.
sudo apt install mariadb-client
Connexion avec l'utilisateur "monlogin"
.
mysql -u monlogin -h 192.168.0.125 -p