web-dev-qa-db-fra.com

Binlog a un mauvais numéro magique

Je continue à obtenir cette erreur chaque fois que je démarre MySQL.

121028  1:38:55 [Note] Plugin 'FEDERATED' is disabled.
121028  1:38:55 InnoDB: The InnoDB memory heap is disabled
121028  1:38:55 InnoDB: Mutexes and rw_locks use Windows interlocked functions
121028  1:38:56 InnoDB: Compressed tables use zlib 1.2.3
121028  1:38:56 InnoDB: Initializing buffer pool, size = 16.0M
121028  1:38:56 InnoDB: Completed initialization of buffer pool
121028  1:38:56 InnoDB: highest supported file format is Barracuda.
121028  1:38:57  InnoDB: Waiting for the background threads to start
121028  1:38:58 InnoDB: 1.1.8 started; log sequence number 3137114
121028  1:38:58 [ERROR] Binlog has bad magic number;  It's not a binary log file that can be used by this version of MySQL
121028  1:38:58 [ERROR] Can't init tc log
121028  1:38:58 [ERROR] Aborting

121028  1:38:58  InnoDB: Starting shutdown...
121028  1:38:58  InnoDB: Shutdown completed; log sequence number 3137114
121028  1:38:58 [Note] C:\PROGRA~2\EASYPH~1.1\MySql\bin\mysqld.exe: Shutdown complete

J'ai déjà essayé Ceci .

J'ai une configuration EASYPHP 12.1 sur Windows 7x64 PC.

6
laggingreflex

Les journaux binaires ont des positions de départ différentes sur la création d'un nouveau journal binaire. En fait, une position de journalisation binaire représente réellement le nombre d'octets écrits dans le binaire à la fin de la dernière déclaration SQL enregistrée.

Vous trouverez ci-dessous la liste des positions de démarrage des journaux binaires pour chaque version principale de MySQL 5

  • Pour MySQL 5.5: 120
  • Pour MySQL 5.5: 107
  • Pour MySQL 5.1: 106
  • Pour MySQL 5.0: 98

Inclus dans ces octets initiaux est une valeur statique appelée numéro magique, une valeur de base-64. J'ai écrit à ce sujet le 26 décembre 2011: MySQL émet des lignes de binlog même si Binlog_Format = Déclaration

Bien que le numéro de magie Binlog soit toujours dans la même position, vous ne pouvez pas utiliser des journaux binaires d'une version vers des versions plus récentes dans certaines circonstances. Par exemple, les événements de journalisation binaires pourraient changer et ne pas être compris. La réplication binaire binaire basée sur des lignes et la réplication MySQL peut casser sur un esclave MySQL 5.6 reproduisant à partir d'un ancien maître lors de la manipulation des valeurs de dateTime. J'ai écrit à ce sujet récemment

Il y a aussi la possibilité d'un journal binaire corrompu. J'ai écrit à ce sujet le 04 février 2011: MySQL Master Binlog Corruption

Votre solution est de

  • nET STOP MYSQL
  • Effacer les journaux binaires (et le fichier d'index de journal binaire) [.____]
    • Si vous ne savez pas où ils sont, localisez my.ini sur votre PC
    • Ouvert my.ini dans le bloc-notes
    • cherchez l'option log-bin ou alors log_bin
    • recherchez l'option datadir
    • Si BOG-BIN n'a qu'un nom de fichier, regardez à l'intérieur du dossier spécifié par datadir
    • Si BOB-BIN inclut un chemin et un nom de fichier, regardez à l'intérieur du dossier spécifié par log-bin
    • Ouvrez le dossier souhaité dans Windows Expolrer
    • Supprimer les journaux binaires
    • Il devrait y avoir un fichier dont l'extension de fichier est .index. Supprimer cela aussi
  • démarrer net mysql

S'il vous plaît ne pas effacer ib_logfile0 ou alors ib_logfile1 Lorsque vous avez des problèmes de journalisation binaires.

7
RolandoMySQLDBA

Comme solution aussi, vous pouvez supprimer mysql-bin.index fichier.

0
H Aßdøµ