Enable innodb data engine

Problems with the Windows version of XAMPP, questions, comments, and anything related.

Enable innodb data engine

Postby foxserv » 04. February 2016 13:57

Afer Installing a new xampp using xampp-win32-7.0.1-VC14-installer and adding the projects from my "old" xampp environment ( with php 5.4.7 ), in PHPMyAdmin with some tables I got the message "table <name> doesn't exist in engine". Those tables also had an empty "type" column and the "collate" column said "in use" instead of "latin1_swedish_ci".
Searching for a cause and solution I "suddenly" noticed that those tables had an InnoDB engine in the "old" XAMPP, instead of a MyISAM engine. Consequently I also noticed that the "accepted" tables in the "new" XAMPP had MyISAM in the "type" column.
Searching further I found the my.ini file in the xampp/mysql/bin folder, but the part that says "Comment the following if you are using InnoDB tables" are the same in both XAMPP's ( see below ). So there has to be something else as well that causes the "new" XAMPP not to be able to use both engines by default, where in the "old" XAMPP this was the default setting. At least cannot remember changing any setting(s) in that "old" XAMPP to "force" the use of both engines there. Can anyone tell me whicht setting(s) I have to chage as well?

==============================================================
my.ini "old"
# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/data"
#innodb_log_arch_dir = "C:/xampp/mysql/data"
## 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
==============================================================
my.ini "new"
# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/data"
#innodb_log_arch_dir = "C:/xampp/mysql/data"
## 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
foxserv
 
Posts: 9
Joined: 17. April 2013 09:42
Operating System: Windows 7 Professional

Re: Enable innodb data engine

Postby foxserv » 05. February 2016 15:26

Found a solution myself. When I create the database and add the tables with an .sql script within PHPMyAdmin itself, it works! Copying the files from the "old" c:\xampp\mysql\data folder doesn't work.
Also found a probable cause for this. After creating the tables within PHPMyadmin the InnoDB tables also get an .ibd file in the c:\xampp\mysql\data which didn't exist in the "old" folder.
foxserv
 
Posts: 9
Joined: 17. April 2013 09:42
Operating System: Windows 7 Professional


Return to XAMPP for Windows

Who is online

Users browsing this forum: No registered users and 149 guests