ligne de commandes MySQL : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Afficher les utilisateurs)
 
(5 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
 +
<!-- Links checked 04/05/19 -->
 +
[[Catégorie:Bases de données]]
 +
[[Catégorie:Linux]]
 +
'''[[Lien court]]''' vers cette page : https://vt.cx/lcMy
 +
'''[[QR code]]''' vers cette page : https://vt.cx/lcMy.qr
 +
<html>
 +
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
 +
<!-- VT2 -->
 +
<ins class="adsbygoogle"
 +
    style="display:inline-block;width:468px;height:60px"
 +
    data-ad-client="ca-pub-3341840374417340"
 +
    data-ad-slot="6349432125"></ins>
 +
<script>
 +
(adsbygoogle = window.adsbygoogle || []).push({});
 +
</script>
 +
</html>
 +
 
= 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 32 :
 
  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 41 :
 
  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;'''
+
Sans [[mot de passe]]
* '''select user,host from mysql.user;'''
+
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;
  
= Changer le mot de passe d'un utilisateur =
+
== Afficher les utilisateurs ==
Sélectionner la base concernée
+
Afficher le contenu du champ user de la base '''[[MySQL]]''' -> '''select user from mysql.user;'''
update user set password=password("nouveau_mot_de_passe") where user='nom_du_user';
+
Afficher le contenu des champs user et host de la base '''[[MySQL]]''' -> '''select user,host from mysql.user;'''
update user set password=password("toto22%") where user='roundcube';
+
 
Voir aussi '''[[Mot de passe MySQL perdu sur Debian ou Ubuntu]]'''
+
== 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 =  
 
= 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>;
 +
 
 +
= Articles [[Vulgum Techus]] =
 +
* [[MySQL]]
 +
* [[Unknown collation: utf8mb4_unicode_ci]]
 +
* [[Mot de passe MySQL perdu sur Debian ou Ubuntu]]
 +
* [[Sauvegarder toutes les bases MySQL d'un coup dans Plesk]]
 +
* [[Importer une base de données sous MySQL]]
 +
* [[Problèmes SQL de la recherche avancée sur Joomla]]
 +
* [[The storage engine for the table doesn't support check]]
 +
 
 +
= Commentaires =
 +
{{#widget:DISQUS
 +
|id=vulgumtechus
 +
}}

Version actuelle en date du 4 mai 2019 à 11:31

Lien court vers cette page : https://vt.cx/lcMy
QR code vers cette page : https://vt.cx/lcMy.qr

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>;

Articles Vulgum Techus

Commentaires

blog comments powered by Disqus