Le SQL (Structured Query Language) est un langage informatique permettant de communiquer avec une base de données relationnelles.
Pour pouvoir manipuler une base, nous avons besoin d’un SGBD (Système de gestion de base de données). Il en existe plusieurs avec pour chacun leurs spécificités comme par exemple MySQL, PostgreSQL, Oracle, Microsoft SQL Server ou encore MariaDB (fork de MySQL) que nous utiliserons ici.
Notre environnement est le suivant :
– Serveur linux sous OpenSuse avec MariaDB et SSH-Server
– Poste Windows 10 avec le logiciel Putty
Pour commencer, nous allons nous connecter à distance avec le protocole sécurisé SSH depuis la machine Windows à l’aide de Putty (Article sur l’utilisation de PuTTY).
Une fois la connexion établie entre les deux machines, vous devez passer en root et vérifier que les paquets de MariaDB sont bien installés sur votre serveur.
Maintenant que MariaDB est installé, nous nous connectons au serveur en tapant en root dans un terminal :
# mysql (-h localhost) -u root -p
1, Commandes basiques de gestion d’ une base de données
a, création d’une base de données
MariaDB [(none)]> CREATE DATABASE nomdelabase;
b, utilisation de la base de données
MariaDB [(none)]> USE nomdelabase;
c, suppression d’une base de données
MariaDB [(none)]> DROP DATABASE nomdelabase;
d, Statut de la base de données
MariaDB [(nomdelabase)]> \s;
e, Afficher l’aide
MariaDB [(nomdelabase)]> ?
2, Sauvegarde d’une base de données
a, Création d’un backup avec Mysqldump
Pour créer un fichier de sauvegarde de votre base de données , dans un terminal en root (hors mysql)
# mysqldump -u root - p nomdelabase > backup_$(date +%F)
Bien entendu, vous pouvez nommer votre fichier de sauvegarde comme vous le souhaitez.
b, Restauration d’un backup
# mysql -u root -p nomdelabase < backup_xxxx-xx-xx
3, Gestion des utilisateurs de la base de données
a, Création d’un utilisateur avec un mot de passe
MariaDB [(none)]> CREATE USER 'nom'@'adresseip' IDENTIFIED BY 'mot_de_passe';
b, Renommer un utilisateur
MariaDB [(none)]> RENAME USER 'ancien_nom'@'adresseip' TO 'nouveau_nom'@'adresseip';
c, Changer le mot de passe
MariaDB [(none)]> SET PASSWORD FOR 'nom'@'adresseip' = PASSWORD('Nouveau_mot_de_passe')
d, Gestion des droits utilisateurs
MariaDB [(none)]>GRANT {OPTION} ON NomdelaBase.Nomdelatable TO 'nom@adresseip'
Plusieurs droits sont possibles : SELECT, INSERT, UPDATE, DELETE, CREATE ou encore ALL PRIVILEGES qui octroie tous les droits disponibles.