2011-06-09 16 views
51

estoy recibiendo el siguiente:Tabla nativa 'performance_schema'. '???' tiene la estructura equivocada

Native table 'performance_schema'.'file_instances' has the wrong structure 
Native table 'performance_schema'.'cond_instances' has the wrong structure 
Native table 'performance_schema'.'rwlock_instances' has the wrong structure 
Native table 'performance_schema'.'mutex_instances' has the wrong structure 
... 

Y así sucesivamente Estos errores surgen cuando reinicio de MySQL. Que parece ser la causa administrador de MySQL se vuelva inestable, consigo una gran cantidad de:

"MySQL server has gone away" 

Respuesta

-1

Al parecer MySQL almacenamiento esquema se rompe debido a una razón. Estas razones pueden ser:

  • Usted ha roto el sistema de archivos de base de datos information_schema
  • dañado o algunos errores en el sistema de archivos dañado la base de datos.
  • MySQL internals rompió la base de datos del esquema debido a un error en MySQL (tal vez nadie lo haya visto antes).

Si no tiene copias de seguridad sin embargo, que todavía son capaces de acceder a sus datos, primera copia de seguridad de sus datos a continuación, hacer lo siguiente:

Si tiene copias de seguridad, vuelva a instalar MySQL (antes de que todo claro todo datos de mysql) y luego importar sus datos.

+0

Fue innodb intentado varias veces para reinstalar, no funcionó. Al final tuve que reinstalar como una base de datos no transaccional (deshabilitando innodb, creo) y eso lo solucionó. Gracias –

+6

En lugar de la reinstalación primero verifique esta respuesta: http://stackoverflow.com/a/20262826/2166188. La respuesta de @Musa funcionó para mí. –

+10

Esta respuesta debe ser eliminada. – PHPst

21

En mi caso, apareció cuando se ejecutó una consulta específica en una tabla.

y log también contenían:

Missing mysql.proxies_priv tabla del sistema; por favor ejecute el mysql_fix_privilege_tables a crearlo

me he encontrado mysql_fix_privilege_tables y después de ese problema se ha ido.

+3

Como se indicó anteriormente, debe reiniciar el servidor después de ejecutar mysql_upgrade. Hasta que lo haga, continuará viendo estos errores. – gamut

183
Try

siguiente comando en la shell (el usuario root aquí es el usuario root de MySQL, no la raíz del sistema)

sudo mysql_upgrade -u root -p 

Asegúrese de MySQL reinicio después de ejecutar este (Todo el crédito a @Mikepote en el comentarios.)

+0

Sí, actualizar a la versión más nueva sin mysql_upgrade puede causar el error de estructura incorrecta –

+65

Si alguien todavía tiene este error * después de ejecutar mysql_upgrade * intente reiniciar el servicio de mysql. Esto me lo arregló. – Mikepote

+2

Gracias, Mikepote, ese es exactamente el problema que tuve. Ejecuté mysql_upgrade, luego obtuve este error, y me di cuenta después de leer su comentario de que no había reiniciado mysql. –

2

Si la base de datos es una base de datos Akonadi (KDE), lo anterior no será suficiente. Es necesario para reflejar las opciones que se ofrecen a su mysqld, consulte con

ps aux | grep mysql 

Copiar las opciones a los comandos mysql_fix_privilege_tables (no necesitaba 'root -p -u' pero es posible)

mysql_upgrade --defaults-file=/home/USER/.local/share/akonadi/mysql.conf --datadir=/home/USER/.local/share/akonadi/db_data/ --socket=/tmp/akonadi-USER.x0Bvxr/mysql.socket 

Realmente creo que la opción --socket es la clave.

+0

¿Qué es? ¡Nunca lo oí! @@ –

+0

Será necesario solo si se ejecutan múltiples servicios de MySQL en la misma máquina. –

0

Este error se encuentra al instalar MySQL a través de una instalación anterior que fue configurado sin el esquema de rendimiento o una versión anterior del esquema de rendimiento que puede no tener todas las tablas actuales.

También encontré este problema en . Para resolverlo, yo haga lo siguiente:

cd /Applications/MAMP/bin/ 
sudo ./upgradeMysql.sh 

se puede leer el Performance Schema Build Configuration más detalles.

Cuestiones relacionadas