MySQL修改MyISAM存储引擎为InnoDB

如果MySQL没有使用InnoDB类型,有的程序可能提示错误,比如 LiteCommerce,会提示下面错误:

Fatal error: MySQL server doesn't support InnoDB engine.

用 MySQL 建数据库的时候,表缺省是 InnoDB 类型,也就没有在意。后来用Access2MySQL导数据的时候发现只能导成 MyISAM类型的表。MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。 MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能这 样就可以根据数据表不同的用处是用不同的存储类型。

打开MySQL目录下的 my.ini,把:

default-storage-engine=MyISAM

改为:

default-storage-engine=InnoDB

改完之后,重启MySQL。如果提示

[ERROR] Default storage engine (InnoDB) is not available

设置过的表空间ibdata1文件在Mysql第一次启动时候已经创建,大小为设置的10M,一但新设定的 ibdata1 的大小不一致,就会出现问题。所有直接删除 \MySQL\data 下的ib_logfile0、ib_logfile1、ibdata1文件。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *