Outils pour utilisateurs

Outils du site


informatique:mysql:requetes_administration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
informatique:mysql:requetes_administration [2021/08/04 05:15] – [Calculer la taille des données] alexisinformatique:mysql:requetes_administration [2022/09/23 05:11] (Version actuelle) alexis
Ligne 1: Ligne 1:
 ====== Requêtes d'administration ====== ====== Requêtes d'administration ======
 ===== Affichage des erreurs ===== ===== Affichage des erreurs =====
 +<WRAP prewrap>
 <code sql> <code sql>
 SHOW ERRORS SHOW ERRORS
 </code> </code>
 +</WRAP>
 Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/show-errors.html|ici]] Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/show-errors.html|ici]]
 +
 ===== Affichage des alertes ===== ===== Affichage des alertes =====
 +<WRAP prewrap>
 <code sql> <code sql>
 SHOW WARNINGS SHOW WARNINGS
 </code> </code>
 +</WRAP>
 Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html|ici]] Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html|ici]]
 +
 ===== Affichage de la description d'une table ===== ===== Affichage de la description d'une table =====
 +<WRAP prewrap>
 <code sql> <code sql>
 DESC <table> DESC <table>
 </code> </code>
 +</WRAP>
 Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/explain.html|ici]] Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/explain.html|ici]]
 +
 ===== Purge des caches ===== ===== Purge des caches =====
 +<WRAP prewrap>
 <code sql> <code sql>
 /* Ferme les tables ouvertes, force la fermeture des tables utilisées, purge le tampon de requêtes */ /* Ferme les tables ouvertes, force la fermeture des tables utilisées, purge le tampon de requêtes */
Ligne 23: Ligne 33:
 FLUSH HOSTS FLUSH HOSTS
 </code> </code>
 +</WRAP>
 Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/flush.html|ici]] Plus d'informations [[http://dev.mysql.com/doc/refman/5.5/en/flush.html|ici]]
  
 ===== Changement de mot de passe ===== ===== Changement de mot de passe =====
 +<WRAP prewrap>
 <code sql> <code sql>
 SET PASSWORD = PASSWORD('<password>') SET PASSWORD = PASSWORD('<password>')
 </code> </code>
 +</WRAP>
  
 ===== Changer les droits d'un utilisateur ===== ===== Changer les droits d'un utilisateur =====
 +<WRAP prewrap>
 <code sql> <code sql>
 /* Pour donner les droits à tous les hôtes, il faut utiliser % */ /* Pour donner les droits à tous les hôtes, il faut utiliser % */
Ligne 38: Ligne 51:
 FLUSH PRIVILEGES; FLUSH PRIVILEGES;
 </code> </code>
 +</WRAP>
  
 ===== Récupérer la liste des index d'une base de données ===== ===== Récupérer la liste des index d'une base de données =====
 +<WRAP prewrap>
 <code sql> <code sql>
 SELECT DISTINCT s.INDEX_SCHEMA SELECT DISTINCT s.INDEX_SCHEMA
Ligne 50: Ligne 65:
 AND s.TABLE_SCHEMA = '<database>' AND s.TABLE_SCHEMA = '<database>'
 </code> </code>
 +</WRAP>
  
 ===== Gérer les processus en cours ===== ===== Gérer les processus en cours =====
 +<WRAP prewrap>
 <code sql> <code sql>
 -- Affiche la liste des processus en cours -- Affiche la liste des processus en cours
Ligne 59: Ligne 76:
 kill <id>; kill <id>;
 </code> </code>
 +</WRAP>
  
 ===== Comparer le schéma de deux tables ===== ===== Comparer le schéma de deux tables =====
 +<WRAP prewrap>
 <code sql> <code sql>
 SELECT COLUMN_NAME SELECT COLUMN_NAME
Ligne 75: Ligne 94:
 HAVING COUNT(1)=1 HAVING COUNT(1)=1
 </code> </code>
 +</WRAP>
 La requête précédente est un peu violente car elle valide que les champs sont à la même position. La requête précédente est un peu violente car elle valide que les champs sont à la même position.
 En voici une qui est moins restrictive car elle ne fait pas cette vérification : En voici une qui est moins restrictive car elle ne fait pas cette vérification :
 +<WRAP prewrap>
 <code sql> <code sql>
 SELECT COLUMN_NAME SELECT COLUMN_NAME
Ligne 89: Ligne 110:
 HAVING COUNT(1)=1 HAVING COUNT(1)=1
 </code> </code>
 +</WRAP>
  
 ===== Récupérer la liste des tables avec une colonne manquante ===== ===== Récupérer la liste des tables avec une colonne manquante =====
 Dans certaines tables, on travaille avec les couples de colonnes ''createdAt''/''createdBy'', ''updatedAt''/''updatedBy'' et/ou ''deletedAt''/''deletedBy''. Mais parfois, on oublie l'une des deux colonnes. Trouver ces tables n'est pas un vrai problème quand on n'a que quelques tables mais avec plusieurs centaines, il vaut mieux écrire une requête appropriée. Dans certaines tables, on travaille avec les couples de colonnes ''createdAt''/''createdBy'', ''updatedAt''/''updatedBy'' et/ou ''deletedAt''/''deletedBy''. Mais parfois, on oublie l'une des deux colonnes. Trouver ces tables n'est pas un vrai problème quand on n'a que quelques tables mais avec plusieurs centaines, il vaut mieux écrire une requête appropriée.
 +<WRAP prewrap>
 <code sql> <code sql>
 SELECT @tableSchema := 'database' SELECT @tableSchema := 'database'
Ligne 123: Ligne 146:
 HAVING COUNT(1) = 1; HAVING COUNT(1) = 1;
 </code> </code>
 +</WRAP>
  
 ===== Calculer la taille des données ===== ===== Calculer la taille des données =====
 +<WRAP prewrap>
 <code sql> <code sql>
 -- Afficher la taille globale de l'ensemble des bases de données -- Afficher la taille globale de l'ensemble des bases de données
Ligne 143: Ligne 168:
 , TABLE_NAME , TABLE_NAME
 </code> </code>
 +</WRAP>
  
 ===== Logguer les requêtes ===== ===== Logguer les requêtes =====
 +<WRAP prewrap>
 <code sql> <code sql>
 -- Définition de la destination (mysql.general_log) -- Définition de la destination (mysql.general_log)
Ligne 155: Ligne 182:
 TRUNCATE table mysql.general_log TRUNCATE table mysql.general_log
 </code> </code>
 +</WRAP>
  
 <WRAP info> <WRAP info>
 Pour logguer dans un fichier : Pour logguer dans un fichier :
 +<WRAP prewrap>
 <code sql> <code sql>
 -- Définition de la destination -- Définition de la destination
Ligne 164: Ligne 193:
 SET GLOBAL general_log_file = "</path/to/file>"; SET GLOBAL general_log_file = "</path/to/file>";
 </code> </code>
 +</WRAP>
 </WRAP> </WRAP>
  
informatique/mysql/requetes_administration.1628079353.txt.gz · Dernière modification : 2021/08/04 05:15 de alexis