Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/10/2005, 16:03
SOFIA_ME_GUSTA
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 18 años, 7 meses
Puntos: 0
Tomado de:
http://foro.elhacker.net/index.php/topic,251.0.html



Código PHP:
Ya hemos visto antes como configura el MySQL para optimizar el uso del query_cache_sizequery_cache_limit y key_buffer y vamos a ver ahora como convertir una tabla MyISAM a InnoDB.

InnoDB es un sistema transaccional de bases de datos que está activado por defecto en MySQL 4.x y superioresBásicamente lo que hace es leer más lentopero escrbir más rápido.

Para convertir una tabla MyISAM a InnoDB:

Desde el PhpMyAdmin:

ALTER TABLE nombre_de_la_tabla
TYPE
=InnoDB;

Aunque antes de eso tenemos que configurar el my.cnf para usar InnoDB:

my.cnf MySQL Configuración

# Data files must be able to hold your data and indexes.
# Make sure that you have enough free disk space.
#use this line for MySQL 4.xx.xx
innodb_data_file_path ibdata:1G:autoextend:max:2G 
#innodb_data_file_path = ibdata:1G
innodb_buffer_pool_size 50M
innodb_additional_mem_pool_size 
10M
innodb_file_io_threads 
8
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=20M
innodb_log_buffer_size
=8M
innodb_flush_log_at_trx_commit
=1

Más info
:
http://dev.mysql.com/doc/mysql/en/adding-and-removing.html
http://dev.mysql.com/doc/mysql/en/innodb-configuration.html
http://www.databasejournal.com/features/mysql/article.php/3367871

Si después de añadir un nuevo ibdata el MySQL no arranca es porque seguramente hay más de 1 ibdata (el que se crea por defecto y el que acabamos de decirle que añaday no sabe cuál escoger.

Te recomiendo pasar todas las tablas que estén en InnoDB a MyISAM otra vez (para no perder naday borrar todos los ibdata que hayan (aunque tengan x tamañoestarán vacios), y arrancar el MySQL de nuevo y el solito creará el ibdata de nuevo con x tamaño que le hayamos dicho

Saludos.