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文件。