Solución a: MySQL failing to start with message “Can’t find file: ‘./mysql/plugin.frm’ (errno: 23)”
Hace unos días tuvimos un problema con el servicio de mysql, el cual le costaba reiniciar.
Mysql devolvía el siguiente log:
131224 06:04:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 23)
131224 6:04:53 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
/usr/libexec/mysqld: Can't create/write to file '/tmp/ibqcFQMW' (Errcode: 23)
131224 6:04:53 InnoDB: Error: unable to create temporary file; errno: 23
131224 6:04:53 [ERROR] Plugin 'InnoDB' init function returned error.
131224 6:04:53 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
131224 6:04:53 [ERROR] Can't create IP socket: Too many open files in system
131224 6:04:53 [ERROR] Aborting131224 6:04:53 [Note] /usr/libexec/mysqld: Shutdown complete131224 06:04:53 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Lenguaje del código: PHP (php)
El error parece indicar que no se encuentra el archivo «./mysql/plugin.frm» pero esto no es correcto dado que al final del mensaje del error se registra un:
‘[ERROR] Can’t create IP socket: Too many open files in system‘.
Lenguaje del código: CSS (css)
Este error final y causante de la falla indica que el servidor esta con problemas para atender dicha petición:
# perror 23
OS error code 23: Too many open files in system
Lenguaje del código: PHP (php)
Para incrementar este valor y así lograr levantar el Mysql debemos hacer:
# vi /etc/sysctl.conf
Buscamos fs.file-max = 65536 y lo incrementamos por ejemplo a 200000
Guardamos la edición del archivo y ejecutamos:
# sysctl -p para aplicar la configuración modificada.
Ahora si podremos reiniciar el servicio de mysql normalmente.
Lenguaje del código: PHP (php)
PD: Es recomendable que luego de un reinicio del server completo volvamos el valor de fs.file-max a 65536
Comentarios recientes