[关闭]
@a5635268 2018-02-01T16:19:28.000000Z 字数 916 阅读 929

mysql不能使用innodb存储引擎

Mysql


案例:
一台服务器,操作系统centos,使用 yum 安装mysql ,之前innodb存储引擎一直是可以用的,某天之后,突然不能用了,使用innodb存储引擎的数据库导入后存储引擎全部变成了myisam.进入mysql,

  1. mysql > show engines;
  2. show engineS\G
  3. *************************** 1. row ***************************
  4. Engine: MyISAM
  5. Support: DEFAULT
  6. Comment: Default engine as of MySQL 3.23 with great performance
  7. *************************** 2. row ***************************
  8. Engine: MEMORY
  9. Support: YES
  10. Comment: Hash based, stored in memory, useful for temporary tables
  11. *************************** 3. row ***************************
  12. Engine: InnoDB
  13. Support: NO
  14. ~~~~~~~~~以下内容略~~~~~
  15. 12 rows in set (4.21 sec)

显示不支持innoDB,
在/etc/my.cnf 中添加 default-storge-engine=innodb,重启mysql失败,查看mysql日志,报错日志显示:Default storage engine (InnoDB) is not available
原因:
设置过的表空间ibdata1文件在Mysql第一次启动时候已经创建,大小为设置的10M,一但新设定的 ibdata1 的大小不一致,就会出现问题.可能是中间改过表空间或innodb日志文件的大小设置,但却没有删除掉表空间文件与innodb日志文件引起.
解决方法:
1. 删除在MySQL安装目录下的Data目录中的
ib_logfile0
ib_logfile1
2。找到在配置MySQL服务器时指定的InfoDB目录删除掉
ibdata1
3。重新启动MySQL

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注