Poner Innodb en marcha
By admin on Jul 13, 2008 | In Aprendiz, Gestión etc.
Para hacer cumplir claves foraneas de referencia de la integridad y de la disposición, necesitas convertir sus tablas a usar el motor del almacenaje de Innodb (o créalos antes de comenzar con el motor del almacenaje).
El sintaxis para convertir una tabla a este almacenaje es muy sencillo.
ALTER TABLE orders ENGINE=INNODB;
Sin embargo cuando intenté hacer esto, las advertencias fueron creadas. Al escribir "SHOW WARNINGS" Mysql me informó que las tablas todavía utilizaban el motor de MyISAM. También, cuando utilicé el comando SHOW ENGINES, yo descubrie que el motor de Innodb era fuera de servicio
Para permitir Innodb (que se inhabilita a menudo por abandono en las disposiciones de Apache)el consejo estándar es corregir el archivo de my.cnf. La primera parte es comentar la línea "skip-innodb" la línea usando el #skip-innodb. También es supuesto para ayudar cerciorándose de las líneas siguientes está presente:
Code:
innodb_data_home_dir = /opt/lampp/var/mysql/ | |
innodb_data_file_path = ibdata1:10M:autoextend | |
innodb_log_group_home_dir = /opt/lampp/var/mysql/ | |
innodb_log_arch_dir = /opt/lampp/var/mysql/ | |
# You can set .._buffer_pool_size up to 50 - 80 % | |
# of RAM but beware of setting memory usage too high | |
innodb_buffer_pool_size = 16M | |
innodb_additional_mem_pool_size = 2M | |
# Set .._log_file_size to 25 % of buffer pool size | |
innodb_log_file_size = 5M | |
innodb_log_buffer_size = 8M | |
innodb_flush_log_at_trx_commit = 1 | |
innodb_lock_wait_timeout = 50 |
Al menos hay a menudo más de un caso de este fichero my.cnf. Los míos estaban en los directorios /etc/mysql/ (están a menudo en el directorio de /etc) y también en /var/lib/mysql/ Ciudado - su localización exacta puede diferenciar en diversas disposiciones. Tienes que estar seguro de encontrar la versión global y la local. Para mas ayuda leas este
Manual de Mysql
Hagas esto, recomiences su servidor de Apache y de Mysql, y deberias poder proceder
No obstante en mi caso, al mirar el SHOW ENGINES, parecía como si Innodb todavía fue inhabilitado. Después de que mucho cabeza-rasguñó y el practicar surf de Internet yo descubriera que si tienes un proceso del mysql del zombi en el fondo, después Mysql consigue nunca completamente recomenzado. Debo haber realizado esto del mensaje de alerta que me mostraba"Another MySQL daemon is already running". Puedes detectar esto en sistemas en lenguaje Unix realizando este comando:
Code:
ps -ef | grep mysql |
Afortunadamente, el problema fue diagnosticado aquí Foro de Apache en ingles
La solución resultó ser bastante directa - Mata el proceso zombie, y después recomenza Apache y aysql. También tienes que poner la trayectoria/ruta correcta a tu mysql.sock en tus archivos de my.cnf (ver otra vez el enlace del foro).
Después de hacer todo que era acertado - puedo ahora convertir las tablas al motor de Innodb.
Feedback awaiting moderation
This post has 25 feedbacks awaiting moderation...
Leave a comment
| « Código hermoso | Variables de SQL » |