He de base de datos mysql en el servidor S1 (versión de mysql 5.1.41-3ubuntu12.7-log), he creado maestro-esclavo para este DB en el servidor S2 (versión de mysql 5.1.54-1ubuntu4-log).
la base de datos en S1 fue el uso de un archivo de datos (ibdata). después de volcar la base de datos del S2 que me puse innodb_file_per_table=1. esto hace que cada tabla tiene su propio eii archivo. ahora todo ha ido bien y sin problemas.
pero después de reiniciar mysql en S2, me enfrenté a un problema con la obtención de este error:
Error 'Unknown table engine 'InnoDB'' on query. Default database: MyDB
y cuando trato de mostrar motores

mostrar motores; 
+------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
| Motor | Soporte | Comentarios | Transacciones | XA | Savepoints | 
+------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
| MyISAM | DEFAULT | Default motor de MySQL 3.23 con un gran rendimiento | NO | NO | NO | 
| MRG_MYISAM | SÍ | Colección de tablas MyISAM idénticas | NO | NO | NO | 
| BLACKHOLE | SÍ | /dev/null motor de almacenamiento (cualquier cosa que se escribe en él desaparece) | NO | NO | NO | 
| CSV | SÍ | CSV motor de almacenamiento | NO | NO | NO | 
| MEMORIA | SÍ | Hash basado, almacenados en la memoria, útil para las tablas temporales | NO | NO | NO | 
| FEDERADOS | NO | Federados MySQL motor de almacenamiento | NULL | NULL | NULL | 
| ARCHIVE | SÍ | Archive motor de almacenamiento | NO | NO | NO | 
+------------+---------+----------------------------------------------------------------+--------------+------+------------+ 

innodb no está en la lista.
en el registro de error que puedo ver esto:

InnoDB: Base de datos físicamente escribe el archivo completo: espera... 
InnoDB: No se puede inicializar archivos de registro creado porque 
InnoDB: los archivos de datos están dañados, o nuevos archivos de datos se 
InnoDB: se crea cuando la base de datos se inició anterior 
InnoDB: el tiempo, pero la base de datos no se cerró 
InnoDB: normalmente después de eso. 
111016 8:24:11 [ERROR] Plugin 'InnoDB' inicialización de la función de error devuelto. 
111016 8:24:11 [ERROR] Plugin "InnoDB" registro como un MOTOR de ALMACENAMIENTO fallado. 
111016 8:24:11 [Advertencia] Ni --relay-log ni --relay-log-índice fueron utilizados; así que la replicación se puede romper cuando este servidor MySQL actúa como un esclavo y tiene su nombre de host cambiado!! Por favor utilice '--relay-log=S2-relay-bin " para evitar este problema. 

He intentado eliminar ib_logfiles pero esto no funciona así.
nadie se enfrentó a esa cuestión antes?? cualquier idea es muy apreciada
Gracias

OriginalEl autor Alaa | 2011-10-16

5 Comentarios

  1. 19

    Puede eliminar la InnoDB registro de los archivos en su directorio de datos de mysql llamado ib_logfile0 y ib_logfile1.
    No elimine el archivo de datos de InnoDB (ibdata1).

    Después de eso, InnoDB intentará recuperarse después de reiniciar mysqld.

    observar las principales archivo de registro:

    120413 17:34:47  InnoDB: Initializing buffer pool, size = 64.0M
    120413 17:34:47  InnoDB: Completed initialization of buffer pool
    120413 17:34:47  InnoDB: Log file .\ib_logfile0 did not exist: new to be created
    InnoDB: Setting log file .\ib_logfile0 size to 32 MB
    InnoDB: Database physically writes the file full: wait...
    120413 17:34:48  InnoDB: Log file .\ib_logfile1 did not exist: new to be created
    InnoDB: Setting log file .\ib_logfile1 size to 32 MB
    InnoDB: Database physically writes the file full: wait...
    InnoDB: The log sequence number in ibdata files does not match
    InnoDB: the log sequence number in the ib_logfiles!
    120413 17:34:49  InnoDB: Database was not shut down normally!
    InnoDB: Starting crash recovery.
    sólo se han salvado mi vida. +1
    sí, en mi caso, sólo tienes que reiniciar mysqld ayudado, gracias

    OriginalEl autor Nikl

  2. 4

    Había parecido el problema después de que el servidor se cuelga y se reinicia.

    De datos está bien – el mensaje de error es muy engañoso.

    Parada de servicio de MySQL, eliminar los archivos de registro (ib_logfile*) de /var/lib/mysql, y empezar a MySQL el servicio de nuevo.
    Acaba de hacer 100% seguro de que MySQL es en realidad cuando se eliminan los archivos de registro.

    OriginalEl autor Sych

  3. 2

    Creo configuración de mysql innodb si establece innodb_buffer_pool_size = 2G, innodb no funcionará.

    Generalmente da un error

    "Unknown table engine 'InnoDB".

    si selecciona la tabla con innodb sistema de tratar innodb_buffer_pool_size = 1G.

    OriginalEl autor Pathic

  4. 1

    Hizo compilar mysql con innodb? Si no, usted debe tener montones de líneas que se refieren a que cuando ejecuta esto:

    strings `which mysqld` | grep innodb
    sí, lo hice, y me han metido un montón de línea al momento de ejecutar el comando anterior… también motor innodb estaba allí y funcionando bien hasta que he reiniciado mysql!!

    OriginalEl autor user314104

  5. 0

    He encontrado con el mismo problema. Nikl la respuesta me ayudó a encontrar el problema en el principal archivo de registro. InnoDB no pudo asignar la memoria necesaria en el inicio. Después de la limpieza de algunos otros procesos que empezó todo correctamente.

    Registros mostraron los siguientes:


    160219 9:20:23 InnoDB: Error: cannot allocate 12884918272 bytes of
    InnoDB: memory with malloc! Total allocated memory
    InnoDB: by InnoDB 49601872 bytes. Operating system errno: 12
    InnoDB: Check if you should increase the swap file or
    InnoDB: ulimits of your operating system.
    InnoDB: On FreeBSD check you have compiled the OS with
    InnoDB: a big enough maximum process size.
    InnoDB: Note that in most 32-bit computers the process
    InnoDB: memory space is limited to 2 GB or 4 GB.
    InnoDB: We keep retrying the allocation for 60 seconds...

    OriginalEl autor Martin

Dejar respuesta

Please enter your comment!
Please enter your name here