También tuve este problema al intentar iniciar el servidor, muchas de las respuestas aquí que solo dicen que iniciar el servidor no funcionaron. Lo primero que puede hacer es ejecutar lo siguiente para ver si hay algún error de configuración:
/usr/sbin/mysqld --verbose --help 1>/dev/null
Tuve un error que apareció:
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
Un simple grep -HR "innodb-online-alter-log-max-size" /etc/mysql/
me mostró exactamente qué archivo contenía la línea ofensiva, así que eliminé esa línea del archivo.
Luego, revisando mi /var/log/mysql/error.log
archivo tenía:
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
En base a esta pregunta, la solución aceptada no funcionaría porque ni siquiera podía iniciar el servidor, así que seguí lo que decían algunos de los comentarios y eliminé mi /var/lib/mysql/ib_logfile0
y/var/lib/mysql/ib_logfile1
archivos.
Esto permitió que el servidor se iniciara y pude conectarme y ejecutar consultas, sin embargo, al verificar mi archivo de registro de errores, se estaba llenando rápidamente con varias decenas de miles de líneas como esta:
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.
Basado en una sugerencia de aquí , para arreglar esto hice un mysqldump y restauré todas las bases de datos (vea el enlace para otras soluciones).
$ 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
Todo parece estar funcionando como se esperaba ahora.