Aller au contenu

MariaDB : utilisation en console

Fenêtre de terminal
sudo mariadb # root local (unix_socket)
mariadb -u app -p boutique # mot de passe demandé, base boutique
mariadb -u app -p -h 10.0.0.5 -P 3306 boutique
mariadb --defaults-extra-file=~/.my.cnf

Éviter -pMOTDEPASSE : il apparaît dans la liste des processus et l’historique. Pour des scripts, utiliser un fichier d’options protégé (chmod 600) :

~/.my.cnf
[client]
user=app
password=<mot-de-passe-de-l-application>
SHOW DATABASES;
USE boutique;
SHOW TABLES;
DESCRIBE clients;
SELECT CURRENT_USER(), DATABASE(), VERSION();
Commande interne Rôle
\h ou help Aide
\s ou status État de la connexion
\G en fin de requête Résultat vertical (une ligne par champ)
\c Annule la requête en cours de saisie
\q ou exit Quitter
source fichier.sql Exécute un script
tee fichier.txt / notee Enregistre la sortie dans un fichier

Toute requête se termine par ; (ou \G).

SELECT * FROM clients LIMIT 5;
SELECT * FROM clients WHERE id = 1\G
Fenêtre de terminal
mariadb -u app -p boutique -e "SELECT COUNT(*) FROM clients;"
mariadb -u app -p boutique < schema.sql
sudo mariadb -e "SHOW DATABASES;"
mariadb -u app -p -N -B -e "SELECT nom FROM boutique.clients" > noms.txt
Option Effet
-e "requête" Exécute et quitte
-N Sans en-têtes de colonnes
-B Sortie séparée par tabulations (batch)
-t Sortie en tableau, même en mode non interactif
-s Sortie silencieuse
Fenêtre de terminal
mariadb -u app -p -B -e "SELECT id, nom FROM boutique.clients" | tr '\t' ','> clients.csv

Cette conversion simple convient pour des valeurs sans virgule ni tabulation. Pour un export fiable, utiliser SELECT … INTO OUTFILE (droit FILE et dossier autorisé par secure_file_priv) ou un outil dédié.

SHOW VARIABLES LIKE 'version%';
SHOW VARIABLES LIKE 'max_connections';
SHOW STATUS LIKE 'Threads_connected';
SHOW PROCESSLIST;
SHOW ENGINES;
SELECT @@datadir, @@bind_address;
pager less -S -- résultats larges dans un pager
nopager
prompt \u@\d> -- invite : utilisateur et base

L’historique est conservé dans ~/.mysql_history ; ce fichier peut contenir des mots de passe saisis dans des requêtes CREATE USER ou SET PASSWORD : le supprimer ou le protéger.

Symptôme Piste
ERROR 1045 (28000): Access denied Mauvais identifiants ou hôte : SELECT user, host FROM mysql.user;
ERROR 2002 / 2003 Service arrêté, mauvais hôte ou port, pare-feu
ERROR 1049 Unknown database Base inexistante : SHOW DATABASES;
La console attend sans fin Requête non terminée : ajouter ; ou \c

Ubuntu 24.04 et 26.04 : différences à connaître

Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »

Le client mariadb fonctionne de la même manière sur 10.11 et 11.8. Éviter la commande mysql, absente des paquets récents.