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

¿Cómo reparar la tabla corrupta xampp 'mysql.user'?

Es casi seguro que se trata de un error conocido en mariaDB (es decir, mySQL ). Consulte ApacheFriends.org para la descripción. El problema ocurre después de que el usuario contraseña cambios - a menudo usuario root .

El consejo general parece ser reducir sus pérdidas y degradar su XAMPP a 7.3.5

De lo contrario, el problema puede reaparecer más adelante incluso después una desinstalación/reinstalación completa de 7.3.7, por ejemplo.

Lo que sigue es una elusión/reparación para usuarios de Windows/XAMPP. Se supone que tiene una copia de seguridad, lo que probablemente tenga. (Parece que el proceso de instalación proporciona una copia de seguridad inicial). La idea es que vuelva a estar en el aire sin bajar de categoría el tiempo suficiente para que llegue la próxima versión.

La forma más rápida de salir del pantano es ir al paso 9.

(1) Busque 'my.ini' (por ejemplo, c:\xampp\mysql\bin\my.ini )
(2) Inserte 'skip-grant-tables' en una nueva línea después de la etiqueta '[mysqld] '. Eliminar esto más tarde.
(3) Ahora se puede iniciar mySQL desde el panel de control de XAMPP.
(4) Inicie phpMyAdmin desde el navegador y seleccione la tabla 'usuario' de la base de datos 'mysql'
(5) Debería ver:#1034 El índice de la tabla 'usuario' está corrupto; intente repararlo.
(6) Seleccione 'mysql' en el panel izquierdo y luego marque 'usuario' en el panel derecho.
(7) Desde el menú desplegable 'Con seleccionado', ejecute 'analizar' y luego 'reparar' table'.
(8) Si 'Reparar' falla, no hay más remedio que 'DROP TABLE user'....

(9) Vuelva a crear la tabla de 'usuario' de la copia de seguridad de distribución copiando los siguientes 3 archivos.

C:\xampp\mysql\backup\mysql\user.frm 
C:\xampp\mysql\backup\mysql\user.MYD
C:\xampp\mysql\backup\mysql\user.MYI

a

C:\xampp\mysql\data\mysql\

luego reinicie XAMPP y agregue/elimine/edite usuarios como desee.

Un último punto:parece haber algún tipo de asociación entre las tablas 'usuario' y 'db'. Es posible que deba reparar la tabla 'db' según el paso (7).