MySQL 启动时禁用了 InnoDB 引擎的解决方法

时间:2022-08-20 08:41:31

今天在从本地数据库复制表数据到虚拟机 CentOS 6.6 上的数据库时,得到提示:

Unknown table engine 'InnoDB'

于是在服务器 MySQL 中查看了引擎:

mysql> show engines\G

得到:

*************************** . row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** . row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** . row ***************************
Engine: InnoDB
Support: NO
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: NULL
XA: NULL
Savepoints: NULL
rows in set (0.00 sec)

在 InnoDB 的 Supports 为 NO

解决方法是,编辑 my.cnf

[root@localhost mysql]# vim /etc/my.cnf

把其中 innodb = OFF 改为 innodb = ON

同时把 skip-innodb 注释掉即可。