MySQL no inicia: cannot initialize AIO sub-system

mysql_logo

En un servidor con Debian, al intentar iniciar MySQL usando “service mysql start”, el proceso fallaba. Revisé el log del sistema en /var/log/syslog y tenía este error:

141024 8:18:38 InnoDB: Using Linux native AIO
141024 8:18:38 InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
InnoDB: Warning: io_setup() attempt 1 failed.
InnoDB: Warning: io_setup() attempt 2 failed.
InnoDB: Warning: io_setup() attempt 3 failed.
InnoDB: Warning: io_setup() attempt 4 failed.
InnoDB: Warning: io_setup() attempt 5 failed.
141024 8:18:40 InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts.
InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf
141024 8:18:40 InnoDB: Fatal error: cannot initialize AIO sub-system
141024 8:18:40 [ERROR] Plugin 'InnoDB' init function returned error.
141024 8:18:40 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141024 8:18:40 [ERROR] Unknown/unsupported storage engine: InnoDB
141024 8:18:40 [ERROR] Aborting
141024 8:18:40 [Note] /usr/sbin/mysqld: Shutdown complete

Lo que hice fue justamente poner innodb_use_native_aio = 0 en la sección InnoDB del archivo /etc/mysql/my.cnf , reiniciar el servidor y MySQL ya se inició correctamente.

Averigué un poco sobre el error, al parecer el servidor se actualizó y alguna configuración del sub-sistema AIO (Asynchronous I/O) cambió, haciendo fallar al motor InnoDB de MySQL. También otra posible solución sería incrementar el valor en /proc/sys/fs/aio-max-nr.

Aquí están los enlaces de lo que pude averiguar:

MySQL won’t install

InnoDB io_setup failed

mysqld not running