Algunos de ustedes pueden decir «hay un montón de respuestas en otros hilos» o «Google». Pero en realidad no he encontrado la respuesta.

Estoy desarrollando un PHP /MySQL para proyecto con symfony y por una razón desconocida (que significa «yo no estaba escribiendo php line»), tengo este error «SQLSTATE[42000]: error de Sintaxis o de infracción de acceso: 1286 Desconocido tabla motor ‘InnoDB'».

Ya lo he intentado estas soluciones:

  1. Reiniciar MySQL
  2. Dejar de MySQL, eliminar ib_logfile0 y ib_logfile1, Iniciar Mysql
  3. Hacer un «Show engines». Este comando no devuelve ningún ejemplo de «InnoDB». Ni siquiera un «NO ACTIVO» (raro, ¿verdad ?).
  4. (incluso más raro) PHPMyAdmin muestra todas las tablas excepto que los únicos usando InnoDB pantalla de «utilizar» en lugar de «InnoDB». No hay problema con tablas MyISAM.

Algunas personas sugirieron para el volcado de base de datos, vuelva a compilar MySQL y cargar el archivo sql en el recompilado de la base de datos pero… Vamos a decir que no estoy de humor para eso (que sería tomar un MONTÓN de tiempo).

  • ¿Cómo instalar mysql inicialmente? Prefabricados paquete para el sistema operativo (xamp/wamp, os-el paquete?). Sería MUY inusual para obtener una premade paquete con innodb discapacitados/no incluido.
  • No, es un debian-squeeze-6.0. Fue instalado en el servidor hace muchos meses y el proyecto funcionó bien hasta esta tarde.
  • Yo estaba pensando en un archivo de registro demasiado grande o algo por el estilo, pero no parece así.
  • Es esta la pregunta más adecuado para serverfault en lugar de ESO?

2 Comentarios

  1. 3

    Show engines dice que InnoDB no se pudo iniciar en la razón que sea.
    Tienes que abrir el registro de errores (marque SHOW VARIABLES LIKE 'error_log'):

    mysql> show variables like 'log_error';
    +---------------+--------------------------+
    | Variable_name | Value                    |
    +---------------+--------------------------+
    | log_error     | /var/log/mysql/error.log |
    +---------------+--------------------------+
    1 row in set (0.00 sec)

    y encontrar una razón por la InnoDB no se pudo iniciar. Luego solucionarlo.

  2. 0

    Comprobar primero su versión de MySQL, si tiene soporte para innoDB, segundo compruebe el archivo de configuración de mysql (/etc/my.cnf o /etc/mysql/my.cnf) en linux, Windows (no sé) si innodb es discapacitado con «skip-innodb» parámetro. Algunas de configuración deshabilitado el soporte para innoDB, debido a que el uso de la mayoría de RAM,

    • En la mayoría de los casos raros, el skip-innodb parámetro se puede enviar en el mysqld exec, si usas Linux verificación de la rc.d o init.d secuencia de comandos. Si utiliza Windows comprobar cómo mysqld se llama.
    • Yo debería haber mencionado mi InnoDB estaba funcionando bien, hasta el día de hoy. Por lo tanto, no hemos tocado el mi.cnf y hemos comprobado: no hay ningún «skip-innodb» parámetro en el interior.
    • Hacer un ps auxwww|grep mysqld y ver si se inicia de forma manual con un salto innodb param.

Dejar respuesta

Please enter your comment!
Please enter your name here