Dans cet article nous allons voir quelques commandes utiles MySQL.
Création d'une base de données
# mysql -u root -p # Enter password : ****** mysql > create database devam;
Création d'un utilisateur avec tous les privilèges sur une base de données
# mysql -u root -p # Enter password : ****** mysql > GRANT ALL PRIVILEGES ON devam.* TO 'userdevam'@'localhost' IDENTIFIED BY 'password'; mysql > flush privileges;
Suppression d'une base de données
# mysql -u root -p # Enter password : ****** mysql > DROP database BDD_A_DELETE;
Afficher toutes les bases de données
# mysql -u root -p # Enter password : ****** mysql > SHOW databases;
Réaliser le dump (sauvegarde) d'une base de données
# mysqldump --user=adminmalin --password="password" ma_bdd | gzip > /home/dump/dump_ma_bdd.sql.gz
Réaliser le dump (sauvegarde) de plusieurs bases de données
# mysqldump --user=adminmalin --password="password" ma_bdd_1 ma_bdd_2 ma_bdd_3 | gzip > /home/dump/dump_bdd-1-2-3.sql.gz
Réaliser le dump (sauvegarde) de toutes les bases de données
# mysqldump --user=root --password="rootpassword" --all-databases | gzip > /home/dump/dump_all_bdd.sql.gz
Réaliser le dump (sauvegarde) de tables spécifiques
# mysqldump --user=root --password="rootpassword" ma_bdd --tables tab1 tab2 | gzip > /home/dump/dump_tab-1-2.sql.gz
Restaurer un dump d'une base de données
# gzip -d /home/dump/dump_ma_bdd.sql.gz # mysql --user=adminmalin --password="password" db_dev < /home/dump/dump_ma_bdd.sql
Importer les données depuis un fichier CSV
Exemple de fichier CSV :
Import.csv "3071088";"80";"1718782";"4";"2 399 4175"; "3072088";"90";"1718715";"3";"2 399 9878";
# mysql -u root -p # Enter password : ****** mysql > USE NOM_BDD; mysql > LOAD DATA INFILE 'Import.csv' replace INTO TABLE nom_table FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
En une seule ligne cela donne :
# mysql --user=root --password="rootpassword" NOM_BDD -e "LOAD DATA INFILE 'Import.csv' replace INTO TABLE nom_table FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n';"
Supprimer le contenu d'une table
# mysql -u root -p # Enter password : ****** mysql > USE NOM_BDD; mysql > DELETE FROM nom_table;
En une seule ligne cela donne :
# mysql --user=root --password="rootpassword" NOM_BDD -e "DELETE FROM nom_table;"
Réinitialiser l'auto incrémentation d'une table
# mysql -u root -p # Enter password : ****** mysql > USE NOM_BDD; mysql > ALTER TABLE nom_table AUTO_INCREMENT = 1;
En une seule ligne cela donne :
# mysql --user=root --password="rootpassword" NOM_BDD -e "ALTER TABLE nom_table AUTO_INCREMENT = 1;"
Afficher les utilisateurs avec le nom d'hôte autorisé
# mysql -u root -p # Enter password : ****** mysql > SELECT host, user FROM mysql.user;
Supprimer un utilisateur
# mysql -u root -p # Enter password : ****** mysql > DROP USER 'user'@'localhost';