Manipulations de base de MariaDB sous Linux

Installation de MariaDB sous Debian

1. Mettre à jour le catalogue des paquets

sudo apt update

2. Installer le serveur et le client MariaDB

sudo apt install mariadb-server mariadb-client

Cette commande installe le serveur de base de données (mariadb-server) et le client en ligne de commande (mariadb-client). 3. Démarrer et activer le service MariaDB Démarrer immédiatement :

sudo systemctl start mariadb

Activer au démarrage :

sudo systemctl enable mariadb

Sécuriser l'installation de MariaDB : MariaDB fournit un script d'assistance pour sécuriser la configuration initiale, désactiver l'accès root distant, supprimer les utilisateurs anonymes, etc.

sudo mysql_secure_installation

Répondez aux questions posées (définition/mise à jour du mot de passe root, suppression des comptes anonymes, désactivation de l'accès root distant, etc.).


Connexion au serveur MariaDB

Pour se connecter en tant qu'utilisateur root local (sans mot de passe, sur Debian, l'authentification se fait via socket par défaut) :

sudo mariadb

Si vous avez configuré un mot de passe root avec mysql_secure_installation, vous pouvez vous connecter ainsi :

mariadb -u root -p

(Entrez le mot de passe root quand demandé)


Création d'une base de données

Depuis le prompt MariaDB (MariaDB [none]>), vous pouvez créer une nouvelle base de données :

CREATE DATABASE nom_de_ma_base;

Par exemple :

CREATE DATABASE testdb;

Pour vérifier :

SHOW DATABASES;

Création d'un utilisateur et attribution de privilèges

Afin de ne pas utiliser le compte root pour toutes les opérations, il est recommandé de créer un utilisateur dédié à la base.

CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe';

Par exemple :

CREATE USER 'alice'@'localhost' IDENTIFIED BY 'superSecret';

Donner à cet utilisateur tous les privilèges sur la base testdb :

GRANT ALL PRIVILEGES ON testdb.* TO 'alice'@'localhost';

Création d'une table

Sélectionnez la base de données sur laquelle vous voulez travailler :

USE testdb;

Créer une table clients par exemple :

CREATE TABLE clients (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    date_inscription DATE NOT NULL
);

Vérifier la création de la table :

SHOW TABLES;

Affiche la structure de la table :

DESCRIBE clients;

Insérer des données dans la table

INSERT INTO clients (nom, email, date_inscription)
VALUES ('Dupont', 'dupont@example.com', '2023-01-01');

Voir les données :

SELECT * FROM clients;

Modification de table

Par exemple, ajouter une colonne telephone :

ALTER TABLE clients ADD COLUMN telephone VARCHAR(20);

Supprimer une colonne :

ALTER TABLE clients DROP COLUMN telephone;

Modifier le type d'une colonne :

ALTER TABLE clients MODIFY email VARCHAR(150);

Création d'un utilisateur avec des privilèges limités

Si vous souhaitez créer un utilisateur ayant uniquement le droit de lecture sur une base, par exemple :

CREATE USER 'visiteur'@'localhost' IDENTIFIED BY 'passLecteur';
GRANT SELECT ON testdb.* TO 'visiteur'@'localhost';
FLUSH PRIVILEGES;

Exporter (dump) une base de données

La commande mysqldump permet d'exporter une base (créer un fichier SQL permettant de la recréer). Exécutez cette commande depuis le terminal (pas depuis le prompt MariaDB) :

mysqldump -u alice -p testdb > testdb_backup.sql

Vous serez invité à entrer le mot de passe de l'utilisateur alice. Le fichier testdb_backup.sql contiendra toutes les tables et données de testdb.


Importer une base de données

Pour restaurer la base à partir d'un fichier SQL :

mysql -u alice -p testdb < testdb_backup.sql

Le contenu de testdb_backup.sql sera importé dans la base testdb.


Suppression d'une base de données ou d'un utilisateur

Supprimer une base de données (opération irréversible) :

DROP DATABASE testdb;

Supprimer un utilisateur :

DROP USER 'alice'@'localhost';

Maintenance et vérification

Vérifier l'état du serveur :

systemctl status mariadb

Redémarrer le serveur si nécessaire :

sudo systemctl restart mariadb

Mettre à jour le serveur et les paquets liés (via apt) pour appliquer les correctifs de sécurité et maintenir la stabilité.

Lister les bases de données : Une fois connecté au serveur MariaDB/MySQL via la commande :

mariadb -u root -p
SHOW DATABASES;

Cela affichera toutes les bases de données existantes sur le serveur.

Lister les utilisateurs : Il n'existe pas de commande directe SHOW USERS; dans MariaDB/MySQL. Pour voir la liste des utilisateurs, vous devez interroger la table mysql.user qui est une table système contenant les informations sur les comptes. Toujours depuis le prompt SQL, exécutez :

SELECT User, Host FROM mysql.user;

Vous obtiendrez ainsi la liste de tous les utilisateurs et les hôtes depuis lesquels ils peuvent se connecter. Exemple : Se connecter :

mariadb -u root -p

Lister les bases :

SHOW DATABASES;

Lister les utilisateurs :

SELECT User, Host FROM mysql.user;

Conclusion

En résumé, l'installation de MariaDB sous Debian se fait en quelques étapes simples. Les opérations courantes (création de bases, tables, utilisateurs, modification de schémas, sauvegarde/restauration) sont effectuées grâce à des commandes SQL standard et des outils comme mysqldump. Il est souvent plus facile de se connecter à une base SQL depuis un logiciel comme VsCode sur Windows. Connectez-vous à votre serveur SQL depuis VsCode, vous verrez que la création des tables et leur modification est facilitée.


⬆️ Retour en haut de la page