码迷,mamicode.com
首页 > 数据库 > 详细

mysql导入报错 ERROR 1286 (42000) at line 1: Unknown table engine 'InnoDB'

时间:2016-07-14 15:49:04      阅读:1850      评论:0      收藏:0      [点我收藏+]

标签:engine   mysql   error   

[root@localhost mysql]# mysql -u root -p‘123456‘  jiang < schema.sql                
ERROR 1286 (42000) at line 1: Unknown table engine ‘InnoDB‘
mysql> select * from ENGINES;
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| ENGINE     | SUPPORT | COMMENT                                                   | TRANSACTIONS | XA   | SAVEPOINTS |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| CSV        | YES     | CSV storage engine                                        | NO           | NO   | NO         |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                     | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance    | NO           | NO   | NO         |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
4 rows in set (0.00 sec)

首先看看这个表里面有没有 

InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES

如果没有就安装innodb插件

可以用 show engines;或者show plugins;来查看

MySQL
> show plugins;
+------------+--------+----------------+---------+---------+
| Name       | Status | Type           | Library | License |
+------------+--------+----------------+---------+---------+
| binlog     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| CSV        | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MEMORY     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MyISAM     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
+------------+--------+----------------+---------+---------+
5 rows in set (0.00 sec)

方法一:
在configure的时候加上–with-plugins=innobase (或all) 如果要添多个插件,用半角逗号隔开

方法二:
如果mysql已经编译好了,又不想重新编译,可以安装插件,innodb就是一个插件,安装好mysql后也是可以添加的。

1,查看一下,mysql配置是不是支持动态添加插件

mysql> show variables like "have_%";
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| have_compress        | YES   |
| have_crypt           | YES   |
| have_csv             | YES   |
| have_dynamic_loading | YES   |    //在这里是YES表示是支持的


如果是no呢,就不太好办,因为have_dynamic_loading是只读变量,

mysql> set have_dynamic_loading=1;
ERROR 1238 (HY000): Variable ‘have_dynamic_loading’ is a read only variable

不过一般情况下都是YES,

2,添加插件

mysql> INSTALL PLUGIN INNODB SONAME ‘ha_innodb.so‘;

  //提示打不开文件,没有权限

找到安装目录下的/lib/mysql/plugin目录,运行如下命令:

@ubuntu:/usr/local/mysql
# chcon -t texrel_shlib_t /usr/local/mysql/lib/mysql/plugin/ha_innodb.so


其实用ll命令看一下,就可以发现ha_innodb.so是ha_innodb.so.0.0.0的链接,实在不行可以这样执行:

install plugin INNODB soname "ha_innodb.so.0.0.0";


安装以下几个

mysql> install plugin INNODB soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_TRX soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_LOCKS soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_LOCK_WAITS soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_CMP soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_CMP_RESET soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_CMPMEM soname "ha_innodb_plugin.so.0.0.0";
mysql> install plugin INNODB_CMPMEM_RESET soname "ha_innodb_plugin.so.0.0.0";


以上几个命令我看有的达人引用的包是ha_innodb.so,但我执行了会说找不到INNODB_TRX ,我想会不会是这个包里没有,于是改用ha_innodb_plugin.so这个包就可以了。

安装好后,在用 show engines;或者show plugins;来查看

mysql> show plugins;
+---------------------+--------+--------------------+---------+---------+
| Name                | Status | Type               | Library | License |
+---------------------+--------+--------------------+---------+---------+
| binlog              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| CSV                 | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MEMORY              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| InnoDB              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| INNODB_TRX          | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_LOCKS        | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_LOCK_WAITS   | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP          | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_RESET    | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| MRG_MYISAM          | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MyISAM              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
+---------------------+--------+--------------------+---------+---------+
13 rows in set (0.00 sec



mysql导入报错 ERROR 1286 (42000) at line 1: Unknown table engine 'InnoDB'

标签:engine   mysql   error   

原文地址:http://9272317.blog.51cto.com/9262317/1826343

(2)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!