sql >> Base de Datos >  >> RDS >> Mysql

Mysql/InnoDB deja de funcionar en Linode Server

Acabo de tener esto, presentándose inicialmente como un "mysql reaparece demasiado rápido " error en el dmesg registros.

De leyendo en otro lugar Lo rastreé hasta lo que encontró, y creo que descubrí que esto apunta a algún tipo de corrupción en los archivos de metadatos de InnoDB. InnoDB hace cosas como garantizar la integridad de la transacción/reversión y la integridad de la clave externa primaria. De eso es de lo que te advierte el error de "desajuste de la suma de comprobación".

No dice cómo está iniciando mysqld, pero tal vez esté usando alguna variante en /etc/init.d/mysqld start o service mysqld start . Ejecute el daemon explícitamente como un comando en su lugar:

sudo /usr/sbin/mysqld --innodb_force_recovery 0

y, siempre que sepa por qué lo está haciendo, incremente gradualmente el valor cero de --innodb_force_recovery hasta que comience el proceso.

Advertencia: El innodb_force_recovery El parámetro determina la seriedad con la que mysqld intentará "arreglar a la fuerza" el error de suma de comprobación en el almacenamiento de InnoDB. Por lo tanto, puede empeorar el problema, o necesitar una reconstrucción posterior del índice, si fuerza la corrección con un número alto aquí, porque InnoDB hará cosas cada vez más drásticas para intentar solucionarlo.

Cada vez que falla al reiniciar mysqld con un número particular, p. 2 , debe buscar los mensajes de error que recibe antes de incrementarlo a 3 para que puedas estar seguro de que estás haciendo lo correcto. No soy un experto en todos los errores que pueda obtener, por lo que no puedo proporcionar comentarios para cada condición excepcional:todo lo que digo es que use --innodb_force_recovery ¡con cuidado!