ฉันมีปัญหานี้เช่นกันเมื่อพยายามเริ่มต้นเซิร์ฟเวอร์คำตอบมากมายที่นี่ซึ่งเพิ่งบอกว่าจะเริ่มเซิร์ฟเวอร์ไม่ทำงาน สิ่งแรกที่คุณสามารถทำได้คือดำเนินการสิ่งต่อไปนี้เพื่อดูว่ามีข้อผิดพลาดในการกำหนดค่าใด ๆ หรือไม่:
/usr/sbin/mysqld --verbose --help 1>/dev/null
ฉันมีข้อผิดพลาดที่ปรากฏขึ้น:
160816 19:24:33 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0ubuntu0.14.04.1-log) starting as process 9461 ...
160816 19:24:33 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
160816 19:24:33 [Note] Plugin 'FEDERATED' is disabled.
160816 19:24:33 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb-online-alter-log-max-size=4294967296'
160816 19:24:33 [ERROR] Aborting
ง่าย ๆgrep -HR "innodb-online-alter-log-max-size" /etc/mysql/
แสดงให้ฉันเห็นว่าไฟล์ใดที่มีบรรทัดที่ละเมิดดังนั้นฉันจึงลบบรรทัดนั้นออกจากไฟล์
จากนั้นตรวจสอบ/var/log/mysql/error.log
ไฟล์ของฉันฉันมี:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 671088640 bytes!
160816 22:46:46 [ERROR] Plugin 'InnoDB' init function returned error.
160816 22:46:46 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160816 22:46:46 [ERROR] Unknown/unsupported storage engine: InnoDB
160816 22:46:46 [ERROR] Aborting
จากคำถามนี้ทางออกที่ได้รับการยอมรับจะไม่ทำงานเพราะฉันไม่สามารถเริ่มต้นเซิร์ฟเวอร์ได้ดังนั้นฉันจึงติดตามสิ่งที่ความคิดเห็นบางส่วนพูดและลบของฉัน/var/lib/mysql/ib_logfile0
และ/var/lib/mysql/ib_logfile1
ไฟล์
สิ่งนี้อนุญาตให้เซิร์ฟเวอร์เริ่มต้นและฉันสามารถเชื่อมต่อและเรียกใช้คิวรีได้ แต่การตรวจสอบไฟล์บันทึกข้อผิดพลาดของฉันมันเต็มไปอย่างรวดเร็วด้วยหลายหมื่นบรรทัดเช่นนี้:
160816 22:52:15 InnoDB: Error: page 1415 log sequence number 82039318708
InnoDB: is in the future! Current system log sequence number 81640793100.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.
ตามข้อเสนอแนะจากที่นี่เพื่อแก้ไขสิ่งนี้ฉันทำ mysqldump และกู้คืนฐานข้อมูลทั้งหมด (ดูลิงก์สำหรับโซลูชันอื่น ๆ อีกมากมาย)
$ mysqldump -u root -p --allow-keywords --add-drop-database --comments --hex-blob --opt --quote-names --databases db_1 db_2 db_3 db_etc > backup-all-databases.sql
$ mysql -u root -p < backup-all-databases.sql
ทุกอย่างดูเหมือนจะทำงานได้ตามที่คาดหวังในขณะนี้