Ich hatte dieses Problem auch beim Versuch, den Server zu starten, so viele der Antworten hier, die nur sagen, dass der Server gestartet werden soll, haben nicht funktioniert. Als erstes können Sie Folgendes ausführen, um festzustellen, ob Konfigurationsfehler vorliegen:
/usr/sbin/mysqld --verbose --help 1>/dev/null
Ich hatte einen Fehler, der auftauchte:
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
Eine einfache grep -HR "innodb-online-alter-log-max-size" /etc/mysql/
zeigte mir genau, welche Datei die fehlerhafte Zeile enthielt, also entfernte ich diese Zeile aus der Datei.
Dann überprüfte ich meine /var/log/mysql/error.log
Datei, die ich hatte:
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
Aufgrund dieser Frage würde die akzeptierte Lösung nicht funktionieren, da ich den Server nicht einmal starten konnte. Deshalb habe ich einige der Kommentare befolgt und meine /var/lib/mysql/ib_logfile0
und /var/lib/mysql/ib_logfile1
Dateien gelöscht .
Dadurch konnte der Server gestartet werden und ich konnte eine Verbindung herstellen und Abfragen ausführen. Bei der Überprüfung meiner Fehlerprotokolldatei wurde diese jedoch schnell mit mehreren Zehntausenden Zeilen wie folgt gefüllt:
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.
Basierend auf einem Vorschlag von hier habe ich, um dies zu beheben, einen mysqldump durchgeführt und alle Datenbanken wiederhergestellt (siehe den Link für mehrere andere Lösungen).
$ 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
Alles scheint jetzt wie erwartet zu funktionieren.