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