xampp innodb disable 解决方法

张映 发表于 2010-11-29

分类目录: linux

标签:, , , ,

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早期版本也有这样的问题的话,也可以用上面的方法解决,不过要找准备文件路径



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/linux/1139.html