Guide de survie MySQL/MariaDB

Classé dans : Programmation | 0

Principales commandes à connaitre pour utiliser Mysql ou MariaDB en ligne de commande. Cela m’a dépanné plus d’une fois, surtout lorsque phpMyAdmin (ou autre) n’est plus accessible !

Vous trouverez également ici des liens vers des tutos, scripts etc utiles pour l’utilisation au quotidien d’une base de données Mysql ou MariaDB.

Dernière mise à jour : 03/02/2023


Connexion Mysql : mysql [-h HOST] -u userLogin -p


Script de backup pour bases Mysql/MariaDB : http://blog.site-web-creation.net/mysql-backup/


Formater une date directement en SQL : SELECT DATE_FORMAT( dateCol, ‘%d/%m/%Y’) AS dateFr FROM nomTable ;


Connexion automatique dans le terminal. Créer un fichier ~/.my.cnf avec ces lignes

[client]
user=root
password=MOTDEPASSEROOT
database=NOMBDD
protocol=TCP
host=127.0.0.1
port=3306

Quelques commandes utiles (en console Mysql ou via PhpMyAdmin)

Liste des bases : SHOW DATABASES ;
Changer la base active : USE nomBase ;
Liste des tables : SHOW TABLES ;
Liste des colonnes d’une table : SHOW COLUMNS FROM nomTable ;
Ajout d’une colonne dans une table : ALTER TABLE ADD ( nomCol type ) ;
Changer le mot de passe d’un user : USE mysql ; UPDATE user SET password=PASSWORD(‘NewPASS’) WHERE user=’loginUser’ ;
Protéger le listage des bases, lancer le serveur MySQL avec l’option : –safe-show-database
Créer une vue : CREATE VIEW nomVue as SELECT.... ;
Modifier la valeur de l’auto-increment : ALTER TABLE nomTable AUTO_INCREMENT = x;


Droits d’accès

Créer une base : CREATE DATABASE XXXXX CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Ajout des droits utilisateur : GRANT ALL PRIVILEGES ON nomBase.* TO userLogin@’localhost’ IDENTIFIED BY ‘motDePasse` WITH GRANT OPTION; FLUSH PRIVILEGES ;
Ajouter des droits à un utilisateur existant : GRANT ALL PRIVILEGES ON nomBase.* TO userLogin@’localhost’


Commandes externes

Exécuter des commandes contenu dans un fichier : mysql -u loginUser -p motDePass nomBase fichierSQL
Importer un fichier UTF-8 : mysql -u loginUser -p motDePass –default-character-set utf8 nomBase <fichierSQL


Import / Export

Importer un dump SQL : mysql -u loginUser -p nomBase < data-dump.sql
Exporter : mysqldump -u loginUser -p nomBase > data-dump.sql


Exemple de code minimum pour créer une base, créer un utilisateur, affecter les droits et créer une table

create database if not exists matable;
create user if not exists user1 identified by 'your_password';
grant create,alter,drop,select,insert,delete,update on matable.* to user1;
use matable;
create table if not exists personnes (nom varchar(30), prenom varchar(40));
exit