ligne de commandes MySQL : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
m (Admin2 a déplacé la page ligne de commande MySQL vers ligne de commandes MySQL sans laisser de redirection)
Ligne 1 : Ligne 1 :
 
= Présentation =
 
= Présentation =
 
La '''ligne de commande [[MySQL]]''' permet d'interagir avec les '''bases [[MySQL]]''' et leur contenu de manière très direct. La condition est de se connecter à la console '''[[MySQL]]''' et de connaître les commandes les plus usitées. Cette page en liste un certain nombre.
 
La '''ligne de commande [[MySQL]]''' permet d'interagir avec les '''bases [[MySQL]]''' et leur contenu de manière très direct. La condition est de se connecter à la console '''[[MySQL]]''' et de connaître les commandes les plus usitées. Cette page en liste un certain nombre.
 +
 +
= Se connecter à la console =
 +
* Avec '''[[Plesk]]''' installé -> mysql -uadmin -p`cat /etc/psa/.psa.shadow`
  
 
= Commandes utiles =
 
= Commandes utiles =
 
== Afficher toutes les bases ==
 
== Afficher toutes les bases ==
  '''show databases;''' -> liste l'ensemble des bases de données
+
  Lister l'ensemble des [[bases de données]] -> '''show databases;'''
 
+
Accès direct -> mysql -u root -p -e "show databases;"
+
Accès direct par '''mysql -u root -p -e "show databases;"'''
  
 
== Sélectionner une base ==
 
== Sélectionner une base ==
Ligne 12 : Ligne 15 :
 
  si ok -> affiche '''Database changed'''
 
  si ok -> affiche '''Database changed'''
 
  si pas ok -> affiche '''ERROR 1049 (42000): Unknown database xxxxxx'''
 
  si pas ok -> affiche '''ERROR 1049 (42000): Unknown database xxxxxx'''
 
+
Accès direct -> idem à la connexion en ajoutant -p xxxxxx
+
Accès direct -> idem à la connexion en ajoutant -p xxxxxx
  
 
== Affiche les tables d'une base ==
 
== Affiche les tables d'une base ==
Ligne 21 : Ligne 24 :
 
  si pas vide -> '''Tables_in_xxxxxx''' et nombre de lignes de la table ('''rows in set''')
 
  si pas vide -> '''Tables_in_xxxxxx''' et nombre de lignes de la table ('''rows in set''')
  
= Afficher les utilisateurs =
+
== Créer un utilisateur ==
  '''select user from mysql.user;''' -> affiche le contenu du champ user de la base '''[[MySQL]]'''
+
  Sans [[mot de passe]]
'''select user,host from mysql.user;''' -> affiche le contenu des champs user et host de la base '''[[MySQL]]'''
+
mysql> CREATE USER '<utilisateur>';
 +
 +
Avec [[mot de passe]]
 +
mysql> CREATE USER '<utilisateur>'
 +
    -> IDENTIFIED BY '<[[mot de passe]]>';
 +
 +
Avec [[mot de passe]] et privilèges sur localhost
 +
mysql> GRANT ALL PRIVILEGES ON *.* TO <utilisateur>@localhost
 +
    -> IDENTIFIED BY '[[mot de passe]]' WITH GRANT OPTION;
 +
 
 +
== Afficher les utilisateurs ==
 +
Afficher le contenu du champ user de la base '''[[MySQL]]''' -> '''select user from mysql.user;'''
 +
Afficher le contenu des champs user et host de la base '''[[MySQL]]''' -> '''select user,host from mysql.user;'''
  
= Changer le mot de passe d'un utilisateur =
+
== Changer le [[mot de passe]] d'un utilisateur ==
Sélectionner la base concernée
+
Sélectionner la base concernée
update user set password=password("nouveau_mot_de_passe") where user='nom_du_user';
+
update user set password=password("nouveau_mot_de_passe") where user='nom_du_user';
update user set password=password("toto22%") where user='roundcube';
+
update user set password=password("toto22%") where user='roundcube';
Voir aussi '''[[Mot de passe MySQL perdu sur Debian ou Ubuntu]]'''
+
Voir aussi '''[[Mot de passe MySQL perdu sur Debian ou Ubuntu]]'''
  
 
= Effacer un utilisateur =  
 
= Effacer un utilisateur =  
drop user <utilisateur>;
+
drop user '<utilisateur>';
delete from mysql.user where user='<utilisateur>';
+
delete from mysql.user where user='<utilisateur>';
revoke all privileges, grant option from <utilisateur>;
+
revoke all privileges, grant option from <utilisateur>;

Version du 1 avril 2016 à 16:53

Présentation

La ligne de commande MySQL permet d'interagir avec les bases MySQL et leur contenu de manière très direct. La condition est de se connecter à la console MySQL et de connaître les commandes les plus usitées. Cette page en liste un certain nombre.

Se connecter à la console

  • Avec Plesk installé -> mysql -uadmin -p`cat /etc/psa/.psa.shadow`

Commandes utiles

Afficher toutes les bases

Lister l'ensemble des bases de données -> show databases;

Accès direct par mysql -u root -p -e "show databases;"

Sélectionner une base

use xxxxxxx; -> se connecte à la base de donnée xxxxxx 
si ok -> affiche Database changed
si pas ok -> affiche ERROR 1049 (42000): Unknown database xxxxxx

Accès direct -> idem à la connexion en ajoutant -p xxxxxx

Affiche les tables d'une base

La base doit préalablement être sélectionnée par use xxxxx;

Show tables; -> liste des tables de la base xxxxxx
si vide -> affiche Empty set (0.00 sec)
si pas vide -> Tables_in_xxxxxx et nombre de lignes de la table (rows in set)

Créer un utilisateur

Sans mot de passe
mysql> CREATE USER '<utilisateur>';

Avec mot de passe
mysql> CREATE USER '<utilisateur>'
    -> IDENTIFIED BY '<mot de passe>';

Avec mot de passe et privilèges sur localhost
mysql> GRANT ALL PRIVILEGES ON *.* TO <utilisateur>@localhost
    -> IDENTIFIED BY 'mot de passe' WITH GRANT OPTION;

Afficher les utilisateurs

Afficher le contenu du champ user de la base MySQL -> select user from mysql.user;
Afficher le contenu des champs user et host de la base MySQL -> select user,host from mysql.user;

Changer le mot de passe d'un utilisateur

Sélectionner la base concernée
update user set password=password("nouveau_mot_de_passe") where user='nom_du_user';
update user set password=password("toto22%") where user='roundcube';
Voir aussi Mot de passe MySQL perdu sur Debian ou Ubuntu

Effacer un utilisateur

drop user '<utilisateur>';
delete from mysql.user where user='<utilisateur>';
revoke all privileges, grant option from <utilisateur>;