Avant le premier démarrage du serveur, il faut initialiser les bases de données système :
mariadb-install-db --user=mysql --datadir=/var/lib/mysql
Attention, par défaut, le serveur écoute les connexions entrante depuis la machine locale uniquement (port 3306). Se référer à la documentation de la distribution pour autoriser les connexions distantes (pour DBeaver par exemple).
Pour se connecter à la base de données en administrateur (root), il faut d’abord se connecter
en tant que root sur le système : su ou sudo su.
La commande de connexion est :
mariadb -u nomUtilisateur -p [nomBase]
Lister les utilisateurs
La liste des utilisateurs est enregistrée dans la table user de la base de données
système mysql :
SELECT user, host, password FROM mysql.user;
Créer un utilisateur
Pour créer un utilisateur autorisé à se connecter depuis la machine locale :
CREATE USER nomUtilisateur@localhost IDENTIFIED BY 'le mot de passe';
Pour que l’utilisateur soit également autorisé à se connecter depuis le réseau
(à distance), exécuter la commande précédente une seconde fois en remplaçant
localhost par '%'.
Changer un mot de passe
SET PASSWORD FOR nomUtilisateur@localhost = PASSWORD('le mot de passe');
*Remarquer l’utilisation cette fois de la fonction PASSWORD qui calcule un condensé (sans sel).
Afficher les droits d’un utilisateur
SHOW GRANTS FOR nomUtilisateur@localhost;
Accorder des droits à un utilisateur
GRANT INSERT, SELECT, UPDATE, DELETE ON nomBase.* TO nomUtilisateur@localhost;
GRANT ALL PRIVILEGES ON nomBase.* TO nomUtilisateur@localhost [WITH GRANT OPTION];
Retirer des droits à un utilisateur
REVOKE ALL PRIVILEGES ON nomBase.* FROM nomUtilisateur@localhost;
Supprimer un utilisateur
DROP USER nomUtilisateur@localhost
- Lister les bases :
show databases; - Créer une base de données :
CREATE DATABASE nomBase; - Supprimer une base de données :
DROP DATABASE nomBase; - Activer (sélectionner) une base :
use nomBase; - Lister les tables de la base active :
show tables; - Afficher la description d’une table:
desc nomTable;
CREATE TABLE nomTable (id INT PRIMARY KEY AUTO_INCREMENT, ...)