Saya baru saja menambahkan baris berikut di /etc/mysql/my.cnf setelah saya mengonversikan satu basis data untuk menggunakan mesin InnoDB.
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
Tapi itu meningkatkan "ERROR 2013 (HY000) pada baris 2: Koneksi hilang ke server MySQL selama permintaan" kesalahan me-restart mysqld. Dan log kesalahan mysql menunjukkan berikut ini
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
Jadi saya berkomentar di baris ini
# innodb_log_file_size = 256M
Dan berhasil me-restart mysql.
Saya bertanya-tanya apa yang ditampilkan "5242880 byte file log" pada kesalahan mysql? Ini adalah basis data pertama pada mesin InnoDB pada server ini, jadi kapan dan di mana file log itu dibuat? Dalam hal ini, bagaimana saya bisa mengaktifkan direktif innodb_log_file_size di my.cnf?
SUNTING
Saya mencoba untuk menghapus / var / lib / mysql / ib_logfile0 dan me-restart mysqld tetapi masih gagal. Sekarang menunjukkan yang berikut dalam log kesalahan.
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!
Resolusi
Ini berfungsi sekarang setelah menghapus ib_logfile0 dan ib_logfile1 di / var / lib / mysql