Outils pour utilisateurs

Outils du site


linux:mysql (lu 65370 fois)

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
linux:mysql [09-10-2019 16:40]
edmc73
linux:mysql [14-02-2023 11:39] (Version actuelle)
edmc73 [Sauvegarder]
Ligne 4: Ligne 4:
  
   * http://www.openlogic.com/wazi/bid/195905/Tips-and-Tricks-to-Optimize-MySQL - astuces   * http://www.openlogic.com/wazi/bid/195905/Tips-and-Tricks-to-Optimize-MySQL - astuces
-  * http://mysqltuner.com/ - script+  * https://github.com/major/MySQLTuner-perl - script
  
   wget --no-check-certificate https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl   wget --no-check-certificate https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
Ligne 54: Ligne 54:
   mysqldump -h hostname -u user -p $(mysql nom_de_la_base -h hostname -u user -p -Bse 'show tables like"phpbb\_%"') > dump_phpbb_.sql   mysqldump -h hostname -u user -p $(mysql nom_de_la_base -h hostname -u user -p -Bse 'show tables like"phpbb\_%"') > dump_phpbb_.sql
  
-Restaurer +La bonne pratique en prod est d'utiliser les options suivantes: 
 + 
 +  mysqldump -u USER -p --single-transaction --quick --lock-tables=false --all-databases (or) DATABASE | gzip > OUTPUT.sql.gz 
 + 
 +  * --quick : This option is useful for dumping large tables. It forces mysqldump to retrieve rows for a table from the server a row at a time rather than retrieving the entire row set and buffering it in memory before writing it out 
 + 
 +  * --single-transaction : This option sets the transaction isolation mode to REPEATABLE READ and sends a START TRANSACTION SQL statement to the server before dumping data. It is useful only with transactional tables such as InnoDB, because then it dumps the consistent state of the database at the time when START TRANSACTION was issued without blocking any applications. 
 + 
 +  * --lock-tables=false : option stops MyISAM tables (if they exsit) being locked during the backup 
 + 
 + 
 +Sauvegarder une table avec des conditions WHERE 
 + 
 +<code bash> 
 +# Dump only the rows with the id column bigger than 500 
 +mysqldump my_db_name my_table_name --where="id > 500" > my_backup.sql 
 + 
 +# Dump only the rows with the created_at column in the given interval 
 +mysqldump my_db_name my_table_name --where="date between '2020-09-01' and '2020-09-30'" > my_backup.sql 
 +</code> 
 +==== Restaurer ====
   mysql -u user -p nom_de_la_base < backup.sql   mysql -u user -p nom_de_la_base < backup.sql
  
Ligne 203: Ligne 223:
 Une requête intégressante Une requête intégressante
   SHOW ENGINE INNODB STATUS   SHOW ENGINE INNODB STATUS
 +
 +La commande **innotop** permet de faire comme **htop** avec beaucoup d'info sur ce qu'il se passe sur innodb
 +  innotop
      
  
linux/mysql.1570632027.txt.gz · Dernière modification: 09-10-2019 16:40 de edmc73