Outils pour utilisateurs

Outils du site


informatique:linux:mysql

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édentes Révision précédente
Prochaine révision
Révision précédente
informatique:linux:mysql [2016/02/19 15:04]
benoit
informatique:linux:mysql [2020/11/03 13:32] (Version actuelle)
benoit [Sauvegarde]
Ligne 45: Ligne 45:
   use my_database   use my_database
   show table status;   show table status;
-  ​+ 
 +Voici quelques syntaxes qui donnent un résultat équivalent à ''​show table status''​ mais qui permet de filtrer : 
 +  SELECT * FROM information_schema.tables WHERE table_schema = DATABASE();​ 
 +  SELECT TABLE_NAME,​TABLE_ROWS FROM information_schema.tables WHERE table_schema = DATABASE();​ 
 +  SELECT TABLE_NAME,​TABLE_ROWS FROM information_schema.tables WHERE table_schema = DATABASE() ORDER BY TABLE_ROWS;​ 
 +  SELECT TABLE_SCHEMA,​TABLE_NAME,​TABLE_ROWS FROM information_schema.tables WHERE table_schema = DATABASE() ORDER BY TABLE_ROWS;​ 
 + 
 +Exporter un tables vers un fichier CSV : 
 +  SELECT * FROM my_table 
 +  INTO OUTFILE '/​tmp/​my_table.csv'​ 
 +  FIELDS TERMINATED BY ','​ 
 +  ENCLOSED BY '"'​ 
 +  LINES TERMINATED BY '​\n';​
  
 ==== USE ==== ==== USE ====
Ligne 58: Ligne 70:
 ou ou
   desc users;   desc users;
 +
 +Pour voir le nombre de ligne par tables :
 +  SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '​ma_base';​
  
 ==== GRANT ==== ==== GRANT ====
Ligne 89: Ligne 104:
 Lancer la requête : Lancer la requête :
   mysql < select.sql   mysql < select.sql
 +
 +ou bien :
 +  mysql -u root -p dbperso
 +  source select.sql
  
 :!: En cas de problème d'​accent,​ insérer la ligne suivante en tête du script SQL pour que l'​import se fasse avec un encodage en UTF-8 :!: En cas de problème d'​accent,​ insérer la ligne suivante en tête du script SQL pour que l'​import se fasse avec un encodage en UTF-8
Ligne 135: Ligne 154:
 Note :!: : Si aucun chemin de fichier n'a été précisé pour la variable **set-variable = log** le fichier log se trouvera par défaut dans ''/​var/​lib/​mysql/​HOSTNAME.log''​. Note :!: : Si aucun chemin de fichier n'a été précisé pour la variable **set-variable = log** le fichier log se trouvera par défaut dans ''/​var/​lib/​mysql/​HOSTNAME.log''​.
  
 +Obtenir la taille des bases de données :
 +  SELECT table_schema AS "​Database", ​
 +  ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" ​
 +  FROM information_schema.TABLES ​
 +  GROUP BY table_schema;​
 +
 +Obtenir la taille de chacunes des tables :
 +  use ma_table;
 +  SELECT ​
 +     ​table_schema as `Database`, ​
 +     ​table_name AS `Table`, ​
 +     ​round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` 
 +  FROM information_schema.TABLES ​
 +  ORDER BY (data_length + index_length) DESC;
 ===== Maintenance et réparation ===== ===== Maintenance et réparation =====
 Pour vérifier s'il y a des corruptions sur toutes les tables des bases de données : Pour vérifier s'il y a des corruptions sur toutes les tables des bases de données :
Ligne 196: Ligne 229:
 Pour exporter certaines tables : Pour exporter certaines tables :
   mysqldump -u root -p ma_base table1 table2 > dump_mes_tables.sql   mysqldump -u root -p ma_base table1 table2 > dump_mes_tables.sql
 +  ​
 +Pour exporter selon un critère "​WHERE"​ dans une table :
 +  mysqldump --where "​country = '​France'"​ ma_base table1 > dump_where_France.sql
  
 Pour exporter une base de données à travers SSH : Pour exporter une base de données à travers SSH :
Ligne 307: Ligne 343:
 Pour connaître le statut de la réplication : Pour connaître le statut de la réplication :
   show slave status\G;   show slave status\G;
 +
 +===== Optimisations =====
 +
 +Quantité de mémoire que MySQL peut mettre des requêtes en buffer. La valeur recommandé est 25% de la mémoire disponible.
 +Exemple si le serveur dispose de 4 Go de mémoire dédié à MySQL :
 +
 +Editer ''/​etc/​mysql/​my.cnf''​ et ajouter/​modifier :
 +
 +  key_buffer 1G 
 +
 +Exemple pour augmenter le nombre de table en mémoire cache :
 +
 +  table_cache ​           = 2000
  
 ===== Pour plus de détails ===== ===== Pour plus de détails =====
informatique/linux/mysql.1455890652.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)