Outils pour utilisateurs

Outils du site


linux:mysql (lu 73641 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
Prochaine révision Les deux révisions suivantes
linux:mysql [17-10-2017 10:19]
edmc73
linux:mysql [06-08-2019 11:14]
edmc73
Ligne 15: Ligne 15:
   * http://hackmysql.com/mysqlreport - script   * http://hackmysql.com/mysqlreport - script
   * https://wiki.deimos.fr/MysqlTuner_:_Optimiser_votre_serveur_MySQL   * https://wiki.deimos.fr/MysqlTuner_:_Optimiser_votre_serveur_MySQL
-  * http://www.bocciolesi.fr/tutoriels-et-cours/optimisation-du-serveur-mysql/+  * http://www.bocciolesi.fr/tutoriels-et-cours/optimisation-du-serveur-mysql/ 
 + 
 + 
 +A voir le paquet **php5-mysqlnd** qui est un client mysql natif qui est optimisé par mysql pour mysql
  
  
Ligne 24: Ligne 27:
   mysql> show variables;   mysql> show variables;
   mysql> show global variables like 'log_output';   mysql> show global variables like 'log_output';
 +
 +Pour modifier une variable global
 +  mysql> set global max_connections=500;
  
 Pour voir les status Pour voir les status
Ligne 33: Ligne 39:
   mysqld --verbose --help | head   mysqld --verbose --help | head
      
-  + 
 + 
 +Process list 
 +  mysql>show processlist; 
 +Kill process 
 +  mysql>kill "number from first col"; 
 + 
 + 
 +==== Sauvegarder ====
 Sauvegarder une base Sauvegarder une base
   mysqldump -u user -p nom_de_la_base > backup.sql   mysqldump -u user -p nom_de_la_base > backup.sql
Ligne 43: Ligne 57:
   mysql -u user -p nom_de_la_base < backup.sql   mysql -u user -p nom_de_la_base < backup.sql
  
-Process list 
-  mysql>show processlist; 
-Kill process 
-  mysql>kill "number from first col"; 
  
 +Script PERL pour extraire une table d'un dump SQL
 +<code perl>
 +#!/usr/bin/perl -s -wnl
 +#extract a single table from a mysql dump
 +BEGIN {
 +    $table or warn
 +    "Usage: $0 -table=TABLE_TO_EXTRACT mysqldumpfile.sql"
 +    and exit 1;
 +}
 + 
 +/^DROP TABLE IF EXISTS `$table`/ .. /^UNLOCK TABLES;$/ and print;
 +</code>
 ===== Logguer les requêtes en temps réel ponctuellement ===== ===== Logguer les requêtes en temps réel ponctuellement =====
  
Ligne 111: Ligne 133:
  
 Plein d'exemples de codes de backup et restauration sur => http://vitobotta.com/smarter-faster-backups-restores-mysql-databases-with-mysqldump/ Plein d'exemples de codes de backup et restauration sur => http://vitobotta.com/smarter-faster-backups-restores-mysql-databases-with-mysqldump/
 +
 +Un autre script dans les paquets **automysqlbackup** https://www1.zonewebmaster.eu/serveur-debian-mysql:automysqlbackup
 +
  
 ===== Percona XtraBackup ===== ===== Percona XtraBackup =====
Ligne 166: Ligne 191:
 </code> </code>
  
 +
 +===== InnoDB =====
 +
 +Une requête intégressante
 +  SHOW ENGINE INNODB STATUS
 +  
 +
 +===== Partition =====
 +
 +Sur le lien ci-dessous, des scripts permettant d'automatiser la création et la purge de partition de type date
 +
 +=> http://www.geoffmontee.com/automatic-partition-maintenance-in-mysql-and-mariadb-part-3/
 +
 +===== Erreur =====
 +
 +Après avoir lancé une optimization puis violemment killé la requete en cours, la table était inaccessible ...
 +
 +<code>
 +Starting MySQL database server: mysqld.
 +Checking for corrupt, not cleanly closed and upgrade needing tables..
 +ERROR 144 (HY000) at line 1: Table 'dashboard_log' is marked as crashed and last (automatic?) repair failed
 +</code>
 +
 +Se placer dans le bon répertoire
 +
 +  cd /var/lib/mysql/MA_BDD
 +
 +<code>
 +# myisamchk MA_TABLE
 +Checking MyISAM file: MA_TABLE
 +Data records:  654724   Deleted blocks:       0
 +myisamchk: warning: Table is marked as crashed and last repair failed
 +- check file-size
 +myisamchk: warning: Size of indexfile is: 275469312      Should be: 25405440
 +- check record delete-chain
 +- check key delete-chain
 +- check index reference
 +- check data record references index: 1
 +- check data record references index: 2
 +- check data record references index: 3
 +- check record links
 +myisamchk: error: Record-count is not ok; is 5773841      Should be: 654724
 +myisamchk: warning: Found 484145612 deleted space.   Should be 0
 +myisamchk: warning: Found    1581466 deleted blocks       Should be: 0
 +myisamchk: warning: Found    8799790 key parts. Should be: 654724
 +MyISAM-table 'MA_TABLE' is corrupted
 +Fix it using switch "-r" or "-o"
 +</code>
 +
 +<code>
 +# myisamchk -r -v MA_TABLE
 +- recovering (with sort) MyISAM-table 'MA_TABLE'
 +Data records: 654724
 +- Fixing index 1
 +  - Searching for keys, allocating buffer for 147793 keys
 +  - Merging 5773841 keys
 +  - Last merge and dumping keys
 +- Fixing index 2
 +  - Searching for keys, allocating buffer for 139720 keys
 +  - Merging 5773841 keys
 +  - Last merge and dumping keys
 +- Fixing index 3
 +  - Searching for keys, allocating buffer for 2604 keys
 +  - Merging 5773841 keys
 +  - Last merge and dumping keys
 +Data records: 5773841
 +</code>
 +
 +Ça remarche ! et même à chaud sans redémarrer mysql ! J'ai même l'impression que ça a été plus rapide de faire cette manip que d'attendre la fin de la requête d'optimisation...
  
linux/mysql.txt · Dernière modification: 14-02-2023 11:39 de edmc73