Aller au contenu principal

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 % par localhost.
  • 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

  1. Edition du fichier 50-server.cnf
vi /etc/mysql/mariadb.conf.d/50-server.cnf
  1. Chercher la ligne
bind-address = 127.0.0.1
  1. Remplacer par une adresse Ip du réseau local
bind-address = 192.168.0.125
  1. Redémarrer
sudo systemctl restart mariadb

Le serveur sql est maintenant accessible à toutes machines sur notre réseau local.

danger

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

/img/2020/09/sql_distant.png