Outils pour utilisateurs

Outils du site


linux:mysql (lu 66461 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 [03-10-2019 10:43]
edmc73 [Log binaire]
linux:mysql [09-10-2019 10:55]
edmc73 [Sauvegarder]
Ligne 69: Ligne 69:
    
 /^DROP TABLE IF EXISTS `$table`/ .. /^UNLOCK TABLES;$/ and print; /^DROP TABLE IF EXISTS `$table`/ .. /^UNLOCK TABLES;$/ and print;
 +</code>
 +
 +Pour automatiser la connexion a mysql et ne pas avoir à taper de mot de passe, créer un fichier **~/.my.cnf**
 +<code>
 +[client]
 +user=root
 +password=somepassword
 </code> </code>
 ===== Logguer les requêtes en temps réel ponctuellement ===== ===== Logguer les requêtes en temps réel ponctuellement =====
Ligne 358: Ligne 365:
 +------------------+-----------+ +------------------+-----------+
 1 row in set (0.000 sec) 1 row in set (0.000 sec)
 +
 +
 +MariaDB [(none)]> show variables like 'log_bin%';
 ++---------------------------------+--------------------------------+
 +| Variable_name                   | Value                          |
 ++---------------------------------+--------------------------------+
 +| log_bin                         | ON                             |
 +| log_bin_basename                | /var/log/mysql/mysql-bin       |
 +| log_bin_compress                | OFF                            |
 +| log_bin_compress_min_len        | 256                            |
 +| log_bin_index                   | /var/log/mysql/mysql-bin.index |
 +| log_bin_trust_function_creators | OFF                            |
 ++---------------------------------+--------------------------------+
 +6 rows in set (0.001 sec)
 +
 </code> </code>
  
Ligne 372: Ligne 394:
 et restarter mariaDB et restarter mariaDB
   systemctl restart mariadb.service   systemctl restart mariadb.service
 +
 +
 +Vos fichiers de log binaires sont maintenant stocké dans /var/log/mysql/
 +
 +**mysqlbinlog** permet de lire les fichiers de log binaire et de générer une sortie sql
 +<code>
 +# mysqlbinlog mysql-bin.000001 
 +mysqlbinlog: unknown variable 'default-character-set=utf8mb4'
 +
 +---------- Si vous avez ce message d'erreur, utilisez l'option suivante
 +
 +# mysqlbinlog --no-defaults mysql-bin.000001 
 +</code>
 +
 +Filtre possible:
 +  * ''--database=ma_base''  ou ''-d ma_base''
 +  * ''--start-datetime="2019-09-09 12:15:00"''  supérieur ou égal à cette date
 +  * ''--stop-datetime="2019-12-24 13:15:00"''   inférieur à cette date
 +  * ''--start-position=N''   commence à la position N
 +  * ''--stop-position=N''  s'arrête à la position N
 +
 +example de restauration
 +  mysqlbinlog /var/log/mysql/mysql-bin.[0-9]* | mysql -u root -p
 +
 +  mysqlbinlog --no-defaults --start-datetime="2019-09-09 12:15:00" /var/log/mysql/mysql-bin.[0-9]* | mysql -u root -p
 +
 +Par défaut, mysql s'arrête dès la 1ère erreur (par ex: duplicate entry), pour continuer après une erreur, ajouté l'option -f
 +
 +  mysqlbinlog --no-defaults --start-datetime="2019-09-09 12:15:00" /var/log/mysql/mysql-bin.[0-9]* | mysql -u root -p -f
 +
linux/mysql.txt · Dernière modification: 14-02-2023 11:39 de edmc73