MySQL: Unknown table engine 'InnoDB' 问题解决

在CentOS 6.10和MySQL 5.1.73环境下,执行select操作时遇到'Unknown table engine 'InnoDB''错误。原因是该版本MySQL未安装InnoDB引擎。解决方法包括检查MySQL plugin目录,确认或拷贝InnoDB插件到正确位置,并在my.cnf配置文件中启用InnoDB,重启MySQL服务,最后通过show engines等命令验证InnoDB是否成功启用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题出现环境:

CentOS 6.10, MySQL 5.1.73

问题现象:

对表做select操作的时候,出现如下的错误:
1286 - Unknown table engine 'InnoDB’

问题出现经过:

在搭建一个既有系统的开发环境的时候,做了一下mysql的数据转存操作。
操作比较原始一些,就是把数据库文件ibdatan文件,ib_logfilen文件替换原来的文件。从客户端登上去看的时候,数据库里面的表都看不见了。尝试了一下select count(*) from tableA的操作,出现了“ Unknown table engine ‘InnoDB’”这样的错误。

错误原因

主要本次安装的MySQL为5.1,没有安装InnoDB。MySQL 5.5开始,将默认数据库存储引擎从MyISAM改为InnoDB,就不会有这些问题了。这之前的办法要另行安装。
登入mysql客户端,通过show engines命令,可以看到innodb的安装情况。

mysql> show engines;
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                   | Transactions | XA   | Savepoints |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                     | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                        | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance    | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO   | NO         |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
4 rows in set (0.00 sec)

可以看到没有安装innodb。

当然,还有可能安装了之后没有启用。 下面的

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值