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

MySQL – Corregir error – Error de base de datos de WordPress Entrada duplicada para clave PRIMARIA para consulta INSERTAR EN wp_options

Como muchos de ustedes saben, este blog se ejecuta en WordPress y bajo el capó de WordPress hay una base de datos MySQL. La base de datos MySQL es bastante buena y puede contener el tráfico masivo que recibe este blog todos los días. Sin embargo, al igual que cualquier base de datos, MySQL necesita un ajuste y una gestión adecuada de la misma. En esta publicación de blog, discutiremos cómo recibí un error muy extraño Error de base de datos de WordPress y cómo lo resolví.

La semana pasada, de repente recibí una llamada de un amigo que decía que nuestro blog se estaba cargando muy lento. Bueno, cuando se publica una nueva entrada de blog o se envía un boletín informativo, es muy común ver un aumento en el tráfico y una lentitud momentánea en el rendimiento del sitio web. Sin embargo, en este caso, el sitio web funcionaba lento de forma constante. Después de un tiempo, encontramos un par de problemas nuevos en el sitio. Debido a la lentitud del rendimiento, también descubrimos que el programador de WordPress no estaba publicando nuevas publicaciones de blog y no estaba realizando una copia de seguridad de rutina del sistema.

Después de un cuidadoso diagnóstico, descubrí que el problema estaba en la base de datos MySQL. Cuando revisé el registro de errores, encontré el siguiente error en el registro.

[Viernes 09 de septiembre 04:58:03 2016] [error] [cliente] Error de la base de datos de WordPress Entrada duplicada '3354142' para la clave 'PRIMARIA' para la consulta INSERTAR EN wp_options (option_name , valor_opción,carga automática) VALORES (…)

Estaba muy claro que había una violación de clave principal en la tabla de opciones. Sin embargo, el problema no fue fácil de resolver ya que personalmente no había realizado ninguna transacción con esta tabla o no hubo nuevas actualizaciones o cambios de complementos recientemente. Mi primer intento fue restaurar esta tabla en particular a partir de una copia de seguridad de una base de datos más antigua (realizo copias de seguridad frecuentes de mi sitio y su base de datos). Incluso este problema en particular falló y no pude deshacerme del error.

Finalmente, busqué en Internet pero, por desgracia, no encontré ninguna ayuda real. En ese momento, decidí hacer varias pruebas y errores. Confía en mí, paso más de 4 horas y varios trucos diferentes para deshacerme de este error. Estaba muy claro para mí que era un error de integridad lógica en la base de datos, tuve que pasar tiempo con muchas tablas y lógica. Bueno, después de 4 horas, finalmente encontré una solución y fue una solución muy simple. Ojalá hubiera sabido esto antes y no hubiera pasado más de 4 horas en varias pruebas y errores.

Solución / Corrección:

Acabo de ejecutar el siguiente comando y mi problema se resolvió.

REPAIR TABLE wp_options

¡Eso es todo! Ya estaba hecho.

La realidad era que mi tabla estaba dañada y, por la misma razón, recibía un error relacionado con la clave duplicada para la tabla de mi base de datos. Una vez que arreglé la corrupción de la tabla, todo funcionó bien. Recuerde, en mi caso fue la tabla wp_options la que estaba dañada, debe reemplazarla con el nombre de su tabla y el script funcionará bien.

Además, si solo desea reparar todas las tablas en su base de datos, puede ejecutar el siguiente script y generará scripts para cada tabla en su base de datos MySQL. Una vez que ejecute el script, reparará todas las tablas de su base de datos.

SELECT CONCAT('repair table ', table_name, ';') 
FROM information_schema.tables 
WHERE table_schema='YourDatabaseName';

Espero que encuentre útil esta publicación de blog. Si alguna vez tiene algún problema con la base de datos MySQL de WordPress, comuníquese conmigo, estaré encantado de ayudarlo a resolver cualquier error relacionado con el mismo.