Question

J'ai un serveur MySQL avec la journalisation binaire active. Une fois qu'un fichier journaux de jour est « tourné », à savoir MySQL semble arrêter d'écrire à elle et crée et nouveau fichier journal. Par exemple, j'ai actuellement ces fichiers dans / var / lib / mysql

-rw-rw---- 1 mysql mysql 10485760 Jun  7 09:26 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Jun  7 09:26 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Jun  2 15:20 ib_logfile1
-rw-rw---- 1 mysql mysql  1916844 Jun  6 09:20 mybinlog.000004
-rw-rw---- 1 mysql mysql 61112500 Jun  7 09:26 mybinlog.000005
-rw-rw---- 1 mysql mysql 15609789 Jun  7 13:57 mybinlog.000006
-rw-rw---- 1 mysql mysql       54 Jun  7 09:26 mybinlog.index

et mybinlog.000006 augmente.

Puis-je simplement prendre mybinlog.000004 et mybinlog.000005, les zip et le transfert vers un autre serveur, ou que je dois faire quelque chose d'autre avant?

Quelle information est stockée dans mybinlog.index? Seuls les informations sur le dernier journal binaire?

Mise à jour: Je comprends que je peux supprimer les journaux avec PURGE BINARY JOURNAUX qui met à jour le fichier mybinlog.index. Cependant, je dois transférer les journaux à un autre ordinateur avant de les supprimer (test I si la sauvegarde est valide sur une autre machine). Pour réduire la taille de transfert, je souhaite bzip2 les fichiers. Qu'est-ce séparerai BINARY JOURNAUX faire si les fichiers journaux ne sont pas « là » plus?

Était-ce utile?

La solution 2

J'ai finalement trouvé la réponse sur le site Web MySQL. Dans le cas où quelqu'un a besoin de ces informations:

Avant MySQL 5.0.60, PURGE BINARY JOURNAUX et PURGE BINARY JOURNAUX AVANT ne se comportait pas de la même manière (et ni l'un se comportait correctement) lorsque les fichiers journaux binaires répertoriés dans le fichier de .index avaient été retirés du système par d'autres moyens (tels que l'utilisation rm sous Linux). Depuis MySQL 5.0.60, les deux variantes de l'instruction échouent avec une erreur dans de tels cas. (Bug # 18199, Bug # 18453) Pour gérer de telles erreurs, modifier le fichier .index (qui est un simple fichier texte) manuellement pour qu'il répertorie uniquement les fichiers journaux binaires qui sont réellement présents, puis exécutez à nouveau le PURGE BINARY JOURNAUX déclaration qui a échoué.

Cela signifie que je dois modifier le fichier .index et tout manuellement ira bien. Qu'est-ce qui est intéressant, ce fichier est .index un fichier texte régulier. Je l'ai même pas remarqué que jusqu'à présent.

Autres conseils

Vous pouvez supprimer les anciens journaux binaires. Au lieu de les supprimer directement, il est plus sûr d'utiliser le PURGE BINARY LOGS-déclaration de MySQL qui met également à jour votre fichier mybinlog.index. Ce fichier stocke que les noms de fichiers ont été utilisés pour l'enregistrement binaire, voir

http://dev.mysql.com/ doc / refman / 5.0 / fr / purge-binaire-logs.html

De plus, vous pouvez configurer votre serveur MySQL pour supprimer les anciens journaux binaires automatiquement. Définissez les variables max_binlog_size et expire_logs_days dans la configuration de votre serveur à des valeurs appropriées.

Les fichiers ibdata et ib_logfile ont rien à voir avec l'enregistrement binaire. Ils sont utilisés par le moteur de stockage InnoDB. Ne vous méprenez pas sur le fait qu'ils ne semblent pas grandir: Si vous avez InnoDB tables sur votre serveur, ces fichiers sont importants et de les supprimer peut entraîner la perte de données. Vous pouvez en savoir plus sur InnoDB dans les docs:

http://dev.mysql.com/doc/ refman / 5.0 / fr / InnoDB-configuration.html

mysql> PURGE BINARY LOGS BEFORE NOW() - INTERVAL 3 DAY; 

supprimer tous les fichiers bin avant 3 jours!

ou

PURGE MASTER LOGS BEFORE '2010-10-08 00:00:00';

mysql-bin.index portent habituellement tous les fichiers .bin. Si u ont supprimé la modification de certains fichiers du .index pour refléter ce sont tous les fichiers disponibles. Si u ont supprimé tous les fichiers .bin supprimer vider le fichier .index. Cela permettra de résoudre u r problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top