¿Cómo habilitar la compatibilidad con inno-db en MySql 5 instalado encima de MySql 4?

StackOverflow https://stackoverflow.com/questions/112010

  •  02-07-2019
  •  | 
  •  

Pregunta

¿Cómo habilitar la compatibilidad con inno-db en una instancia instalada de MySql?

He instalado mysql-5.0.67-win32.'InnoDB' está 'DESHABILITADO' al ejecutar 'mostrar motores'.Según la documentación, MySQL se compila con el apoyo de Inno-DB (de DOC:Un valor de DISABLED ocurre porque el servidor se inició con una opción que deshabilita el motor o porque no se proporcionaron todas las opciones necesarias para habilitarlo).

En my.ini comenté la línea con 'skip-innodb'.Esto no ayudó.Todas las demás variables relacionadas con inno-db permanecen sin cambios.

He realizado alguna acción inusual antes de experimentar la situación descrita.Tengo instalado mysql-4.0.17-win.Lo desinstalo y luego de esto instalé mysql-5.0.67-win32.En el asistente de instalación, elegí solo la compatibilidad con MyISAM (hasta donde tengo entendido, desactivé la compatibilidad con inno-db de esa manera).Cuando intenté reinstalar con soporte de inno-db tuve problemas al usar mi base de datos anterior 'mysql' con información de cuenta).

La documentación de MySQL dice que debo usar mysqldump para exportar datos y luego importar datos exportados en proceso de actualización.Intenté hacerlo, pero al importar datos obtuve un mensaje sobre un error de sintaxis (creo que está relacionado con algunas incompatibilidades de la cuarta y quinta versión de MySQL).

¿Fue útil?

Solución 6

He resuelto el problema.

En breve:No pude volcar bases de datos en MySql4 y restaurarlas en MySql5 debido a algunos errores sintácticos extraños al importar datos.

Después de la instalación, intenté anular las bases de datos MySql5 con bases antiguas, incluida la base de datos 'mysql'.Funciona bien pero no pude habilitar la compatibilidad con inno-db.(De esa manera incluso pude usar la función PASSWORD para contraseñas antiguas (en lugar de OLD_PASSWORD))

Dado que la estructura de la base de datos de 'mysql' cambió en la versión 5, intenté instalar MySql5 nuevamente y copié mis bases de datos antiguas excepto la de 'mysql'.Después de esto, actualicé la base de datos 'mysql' con la versión corregida de los datos exportados desde 'mysql'.De tal manera conseguí que mysql 5 funcionara.

Después de todo yo también ejecuté
mysqlcheck --all-databases --auto-repair
para actualizar mis mesas.

PDGracias a los autores de todas las respuestas que me indican la forma correcta de resolver el problema.

Otros consejos

Debería estar habilitado de forma predeterminada.Hay algunas situaciones en las que permisos incorrectos en la carpeta lib de MySQL hacen que InnoDB ladre.Consulte su registro de errores de MySQL para ver si hay errores de permisos.

Tengo las siguientes opciones de innodb en my.ini.Es una configuración mínima, así que no utilice estos valores si desea que MySQL tenga un buen rendimiento.Reinicie mysql después de cambiar my.ini.

#*** INNODB Specific options ***
innodb_data_home_dir="C:/mysqldata/"
#skip-innodb
innodb_additional_mem_pool_size=120M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=10M
innodb_log_file_size=2M
innodb_thread_concurrency=8

Quizás tengas inno-db deshabilitado en el archivo de configuración global.En Linux, esto sería algo así como /etc/mysql/my.cnf; tal vez Windows tenga un archivo de configuración global similar.

Asegúrese de cambiar el archivo my.ini correcto.En Windows esto se lee desde muchas ubicaciones.El orden es:

  1. WINDIR\mi.ini, WINDIR\mi.cnf
  2. C:\mi.ini, C:\mi.cnf
  3. INSTALLDIR\mi.ini, INSTALLDIR\mi.cnf
  4. archivos-extra-predeterminados

Tipo mysql --help en el símbolo del sistema para ver el orden real en su computadora, por ejemplo:

Las opciones predeterminadas se leen de los siguientes archivos en el orden dado:C: my.ini c: my.cnf c: windows my.ini c: windows my.cnf c: archivos de programa mysql m ysql servidor 5.0 my.ini c: archivos de programa Mysql mysql servidor 5.0 my.cnf

¿Has comprobado los parámetros de inicio?tal vez el script de shell o el archivo por lotes que utiliza para iniciar el servidor desactive el motor en la línea de comando.Las banderas de la línea de comando IIRC prevalecen sobre la configuración .ini.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top