xampp innodb disable 解决方法
windows下,php,mysql,apache的集成工具,我建议大家用wamp5,个人觉得比xampp更好用,更人性。公司用的是xampp1.6.3a这个版本,这个版本竟然不支持innodb。如果大家要用xampp的话,用xampp1.7版本以上,xampp1.7支持innodb。
一,innodb disable
msyql>show engines\G; //查看mysql支持的引擎 *************************** 3. row *************************** Engine: InnoDB Support: DISABLED //innodb不可用 Comment: Supports transactions, row-level locking, and foreign keys mysql> show variables like '%innodb%'; //通过查看变量也可以 +---------------------------------+----------+ | Variable_name | Value | +---------------------------------+----------+ | have_innodb | DISABLED | //也是不可用的 | innodb_additional_mem_pool_size | 1048576 | | innodb_autoextend_increment | 8 |
二,2种解决方法
1,手动通过命令启动
D:\xampp\mysql\bin>mysqld.exe --innodb
2,修改my.ini
xampp装好后,会在c:/WINDOWS/下面产生一个文件my.ini或者是my.cnf,打开这个文件,加上以下内容
innodb_data_home_dir=D:/xampp/mysql/data //D://xampp/mysql/data是数据库表文件存存放路径 innodb_data_file_path=ibdata1:10M:autoextend innodb_log_group_home_dir=D:/xampp/mysql/data innodb_log_arch_dir=D:/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
修改好了以后,xampp安装目录下面有一系列的.bat文件,打开mysql_start.bat
@echo off echo Diese Eingabeforderung nicht waehrend des Running beenden echo Please dont close Window while MySQL is running echo MySQL is trying to start echo Please wait ... echo MySQL is starting with mysql\bin\my.cnf (console) mysql\bin\mysqld --defaults-file=c:/WINDOWS/my.ini --standalone --console //--defaults-file改成c:/WINDOWS/my.ini if errorlevel 1 goto error goto finish :error echo. echo MySQL konnte nicht gestartet werden echo MySQL could not be started pause :finish
双击mysql_start.bat就可以启动了。
mysql> show variables like '%innodb%'; +---------------------------------+------------------------+ | Variable_name | Value | +---------------------------------+------------------------+ | have_innodb | YES | //已经支持了 | innodb_additional_mem_pool_size | 2097152 | | innodb_autoextend_increment | 8 | | innodb_buffer_pool_awe_mem_mb | 0 | | innodb_buffer_pool_size | 16777216 | | innodb_checksums | ON | | innodb_commit_concurrency | 0 | | innodb_concurrency_tickets | 500 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | D:\xampp\mysql\data | | innodb_doublewrite | ON |
上面是以xampp为例,如果wamp早期版本也有这样的问题的话,也可以用上面的方法解决,不过要找准备文件路径