Pregunta

Ireceived una alerta de tiempo de inactividad de Nagios que MySQL se redujo en un host. Me he registrado en el host y encontré el siguiente error en el archivo mysql error.log. ¿Cuáles son las medidas adecuadas para solucionar esto?

root@ubuntu:/var/log# tail -f mysql/error.log
101202 11:09:21 [ERROR] Can't open the mysql.plugin table. Please run 
                        mysql_upgrade to create it.
101202 11:09:21  InnoDB: Started; log sequence number 0 44233
101202 11:09:21 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' 
                        (errno: 13)
101202 11:09:21 [ERROR] Fatal error: Can't open and lock privilege tables: 
                        Can't find file: './mysql/host.frm' (errno: 13)
101202 11:09:51 [Note] Plugin 'FEDERATED' is disabled.
                       /usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' 
                       (errno: 13)
101202 11:09:51 [ERROR] Can't open the mysql.plugin table. Please run 
                        mysql_upgrade to create it.
101202 11:09:52  InnoDB: Started; log sequence number 0 44233
101202 11:09:52 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' 
                        (errno: 13)
101202 11:09:52 [ERROR] Fatal error: Can't open and lock privilege tables: 
                        Can't find file: './mysql/host.frm' (errno: 13)
101202 11:10:22 [Note] Plugin 'FEDERATED' is disabled.
                       /usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' 
                       (errno: 13)
101202 11:10:22 [ERROR] Can't open the mysql.plugin table. Please run 
                        mysql_upgrade to create it.
101202 11:10:22  InnoDB: Started; log sequence number 0 44233
101202 11:10:22 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' 
                        (errno: 13)
101202 11:10:22 [ERROR] Fatal error: Can't open and lock privilege tables: 
                        Can't find file: './mysql/host.frm' (errno: 13)
¿Fue útil?

Solución

Figura MySQL por qué no puede encontrar sus tablas. Ir al directorio de datos de MySQL y busque el subdirectorio mysql (que corresponde a la base de datos que contiene mysql cosas como usuarios, procs, privilegios, etc.). Tal vez alguien ha eliminado la base de datos mysql. Tal vez alguien sobreescribí archivo my.cnf su configuración con una apuntando al directorio de datos incorrecto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top