web-dev-qa-db-ja.com

Binlogのマジック番号が不正です

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

私はすでに試しました this

Windows 7x64 PCでEasyPHP 12.1をセットアップしています。

6
laggingreflex

バイナリログは、新しいバイナリログの作成時に開始位置が異なります。実際、バイナリログの位置は、記録された最新のSQLステートメントの最後のバイナリに書き込まれたバイト数を表します。

以下は、MySQL 5の各メジャーリリースのバイナリログ開始位置のリストです。

  • MySQL 5.5の場合:120
  • MySQL 5.5の場合:107
  • MySQL 5.1の場合:106
  • MySQL 5.0の場合:98

これらの初期バイトには、マジックナンバーと呼ばれる静的な値が含まれています。これは、base-64値です。これについては2011年12月26日に書きました: mysqlはbinlog_­format = ­STATEMENTであってもBINLOG行を発行します

BINLOGマジックナンバーは常に同じ位置にありますが、特定の状況下では、あるバージョンから新しいバージョンへのバイナリログを使用できません。たとえば、バイナリロギングイベントが変更され、理解されない可能性があります。行ベースのバイナリロギングとMySQLレプリケーションは、DATETIME値を処理するときに、古いマスターから複製するMySQL 5.6スレーブで中断する可能性があります。これについて最近書いた

バイナリログが破損している可能性もあります。 2011年2月4日にこれについて書いた: MySQLマスターbinlogの破損

あなたの解決策は

  • ネットストップmysql
  • バイナリログ(およびバイナリログインデックスファイル)を消去します
    • どこにあるかわからない場合は、PCでmy.iniを探してください
    • メモ帳でmy.iniを開きます
    • オプションlog-binまたはlog_binを探します
    • オプションを探すdatadir
    • Log-binにファイル名しかない場合は、datadirで指定されたフォルダー内を調べます
    • ログビンにパスとファイル名が含まれている場合は、log-binで指定されたフォルダー内を調べます
    • Windows Expolrerで目的のフォルダーを開きます
    • バイナリログを削除する
    • ファイル拡張子が.indexのファイルがあるはずです。これも削除します
  • ネットスタートmysql

バイナリログの問題がある場合は、ib_logfile0またはib_logfile1を消去しないでください。

7
RolandoMySQLDBA

ソリューションとしても削除できますmysql-bin.indexファイル。

0
H Aßdøµ