Tôi cũng gặp vấn đề này khi cố gắng khởi động máy chủ, rất nhiều câu trả lời ở đây chỉ nói để khởi động máy chủ không hoạt động. Điều đầu tiên bạn có thể làm là thực hiện các thao tác sau để xem có lỗi cấu hình nào không:
/usr/sbin/mysqld --verbose --help 1>/dev/null
Tôi đã có một lỗi xuất hiện:
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
Một đơn giản grep -HR "innodb-online-alter-log-max-size" /etc/mysql/
chỉ cho tôi chính xác tập tin nào chứa dòng vi phạm, vì vậy tôi đã xóa dòng đó khỏi tệp.
Sau đó, kiểm tra /var/log/mysql/error.log
tập tin của tôi, tôi đã có:
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
Dựa trên câu hỏi này , giải pháp được chấp nhận sẽ không hoạt động vì tôi thậm chí không thể khởi động máy chủ, vì vậy tôi đã làm theo những gì một số ý kiến đã nói và xóa tôi /var/lib/mysql/ib_logfile0
và/var/lib/mysql/ib_logfile1
các tệp tệp .
Điều này cho phép máy chủ khởi động và tôi có thể kết nối và thực hiện các truy vấn, tuy nhiên kiểm tra tệp nhật ký lỗi của tôi, nó đã nhanh chóng được lấp đầy với hàng chục ngàn dòng như thế này:
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.
Dựa trên một gợi ý từ đây , để khắc phục điều này, tôi đã thực hiện một mysqldump và khôi phục tất cả các cơ sở dữ liệu (xem liên kết để biết một số giải pháp khác).
$ 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
Tất cả mọi thứ dường như đang làm việc như mong đợi bây giờ.