InnoDB:エラー:ログファイル./ib_logfile0は異なるサイズです


106

InnoDBエンジンを使用するように1つのデータベースを変換した後、/ etc / mysql / my.cnfに次の行を追加しました。

innodb_buffer_pool_size = 2560M
innodb_log_file_size    = 256M
innodb_log_buffer_size  = 8M
innodb_flush_log_at_trx_commit  = 2
innodb_thread_concurrency   = 16
innodb_flush_method = O_DIRECT

しかし、mysqldを再起動すると「2行目でエラー2013(HY000)2:クエリ中にMySQLサーバーへの接続が失われました」エラーが発生します。そして、mysqlエラーログは次を示します

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
100118 20:52:52 [ERROR] Plugin 'InnoDB' init function returned error.
100118 20:52:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
100118 20:52:52 [ERROR] Unknown/unsupported table type: InnoDB
100118 20:52:52 [ERROR] Aborting

だから私はこの行をコメントアウトしました

# innodb_log_file_size  = 256M

そして、mysqlを正常に再起動しました。

mysqlエラーに表示される「5242880バイトのログファイル」とは何ですか?このサーバー上のInnoDBエンジンの最初のデータベースなので、ログファイルはいつどこで作成されますか?この場合、my.cnfでinnodb_log_file_sizeディレクティブを有効にするにはどうすればよいですか?

編集

/ var / lib / mysql / ib_logfile0を削除してmysqldを再起動しようとしましたが、まだ失敗しました。エラーログに次のように表示されます。

100118 21:27:11  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 256 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100 200
InnoDB: Error: log file ./ib_logfile1 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!

解決

/ var / lib / mysqlのib_logfile0とib_logfile1の両方を削除した後、動作します

回答:


121

InnoDBはその設定についてめちゃくちゃ気難しいです。何かが正しくない場合、それはあきらめて家に帰ります。データを損失することなくログファイルのサイズを変更するには:

  1. ログファイルのサイズに加えた設定変更を元に戻し、MySQLを再起動します。
  2. 実行中のMySQLで:SET GLOBAL innodb_fast_shutdown = 0;
  3. MySQLを停止します
  4. ログファイルサイズの構成を変更します。
  5. 両方のログファイルを削除します。
  6. MySQLを起動します。それはログファイルの不足について文句を言いますが、それらを作成し、すべてがうまくいくでしょう。

1
こんにちは、答えてくれてありがとう、私はあなたの方法を試しましたが、まだ失敗しました。
ジャック

44
ib_logfile0とib_logfile1の両方を削除すると、問題が解決しました。
-Temnovit

1
そして私にとって。どうもありがとう、wikiが戻ってきました!
スティーブンケネディ

1
新しくインストールしたデータベースを再配置しているので、ステップ1〜4をスキップして5から開始します-そして動作します:)
Limbo Peng 14

@Temnovitがこれらの2つのファイルを削除してくれたことにも感謝します。
バシャン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.