Sin embargo, de forma predeterminada, el motor de almacenamiento de la base de datos MySQL de InnoDB no está habilitado en el archivo de configuración my.cnf. Si un webmaster planea usar funciones de InnoDB, como relaciones de tabla de uno a muchos o de muchos a muchos en restricciones de clave externa, o comandos seguros para transacciones, como capacidades de confirmación, reversión y recuperación de fallas.
Para habilitar el soporte del servidor MySQL en el motor de almacenamiento InnoDB, ubique el archivo de configuración "my.cnf" (normalmente en /installation_path /xampp/mysql/bin/), y edite el my.cnf con cualquier editor de texto como vi.
Busque y localice cada una de las siguientes líneas (excepto las líneas en cursiva donde están los comentarios):
- Comment the following line to unskip and use InnoDB skip-innodb - Uncomment the following options for InnoDB database if you are using InnoDB tables. #innodb_data_home_dir = C:/xampp/xampp/mysql/data/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = C:/xampp/xampp/mysql/data/ #innodb_log_arch_dir = C:/xampp/xampp/mysql/data/ - Uncomment the lines and set innodb_buffer_pool_size up to 50% - 80% of RAM for optimization of InnoDB databases, try not to memory usage too high. #set-variable = innodb_buffer_pool_size=16M #set-variable = innodb_additional_mem_pool_size=2M - Uncomment the lines and set innodb_log_file_size to 25% of InnoDB buffer pool size for optimisation. #set-variable = innodb_log_file_size=5M #set-variable = innodb_log_buffer_size=8M #innodb_flush_log_at_trx_commit=1 #set-variable = innodb_lock_wait_timeout=50
Después de la modificación, el código de cada línea debería verse así:
# skip-innodb innodb_data_home_dir = C:/xampp/xampp/mysql/data/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = C:/xampp/xampp/mysql/data/ innodb_log_arch_dir = C:/xampp/xampp/mysql/data/ set-variable = innodb_buffer_pool_size=16M set-variable = innodb_additional_mem_pool_size=2M set-variable = innodb_log_file_size=5M set-variable = innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 set-variable = innodb_lock_wait_timeout=50
Cuando InnoDB no está habilitado y MySQL usa el motor de almacenamiento de base de datos MyISAM, algunos errores que pueden aparecer incluyen:
Propiedad o variable GET no definida en la clase 'A_Class':A_Class_Object
Error fatal:llamada al método indefinido Object::Function() en /xampp/htdocs/wwwroot/a_page.php en la línea 87