ฉันเพิ่งเพิ่มบรรทัดต่อไปนี้ใน /etc/mysql/my.cnf หลังจากฉันแปลงหนึ่งฐานข้อมูลเพื่อใช้เครื่องมือ 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
แต่มันยก "ข้อผิดพลาด 2013 (HY000) ที่บรรทัดที่ 2: การเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ในระหว่างการค้นหาหายไป" ข้อผิดพลาดในการรีสตาร์ท mysqld และบันทึกข้อผิดพลาด 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 สำเร็จ
ฉันสงสัยว่า "ล็อกไฟล์ 5242880 ไบต์" มีข้อผิดพลาด mysql คืออะไร มันเป็นฐานข้อมูลแรกของเอ็นจิ้น InnoDB บนเซิร์ฟเวอร์นี้ดังนั้นไฟล์บันทึกนั้นถูกสร้างขึ้นเมื่อใดและที่ไหน ในกรณีนี้ฉันจะเปิดใช้งานคำสั่ง innodb_log_file_size ใน my.cnf ได้อย่างไร
แก้ไข
ฉันพยายามลบ / 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!
มติ
ตอนนี้ทำงานหลังจากลบทั้ง ib_logfile0 และ ib_logfile1 ใน / var / lib / mysql