ERROR 1286 (42000): Unknown table engine ‘InnoDB’
Posted on 2011-03-21 by admin
Reply

I was getting the error “ERROR 1286 (42000): Unknown table engine ‘InnoDB’” when trying to create/alter tables with the InnoDB engine. You can check for this warning by issuing the create or alter statements and then running
show warnings;
in the same mysql client session.

Check if you have InnoDB support enabled:

mysql> show variables like 'have_innodb';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_innodb   | DISABLED   |
+---------------+-------+
1 row in set (0.04 sec)

The problem is that InnoDB is not enabled by default in Debian distributions of my.cnf. To enable it, simply comment the following lines under the [mysqld] section.

#skip-innodb

via

DISABLED和NO是有区别的,DISABLED表示具有该功能,只是没有启用(通过启动参数or配置文件),NO表示彻底的不支持的编译版本。

ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.119.105′ (10061)

报错原因

 * 默认mysql是无法远程连接,需要修改mysql.user的Host字段,默认Host字段的的数据都是’127.0.0.1′ 只能本地连接数据库,可以修改为’%',然后flush privileges;这样就可以远程访问了。如果这因为这个原因而无法远程访问的错误提示是:ERROR 1045 (28000): Access denied for user ‘yushan’@’192.168.119.102′ (using password: YES)。。

 * 我在linux上安装了mysql,远程使用windows连接,结果提示:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.119.105′ (10061),找到这一句: bind-address           = 127.0.0.1 ,将其注释掉,然后sudo service mysql restart 重启动。可以连接了!

* 如果是windows平台的mysql服务器无法被远程连接,可以禁用windows防火墙(net stop sharedaccess),mysql平台:/etc/init.d/iptables stop

 * 确认/etc/mysql/my.cnf文件skip-networking 选项也被注释掉。skip-networking的作用是禁用tcp/ip连接,彻底杜绝mysql远程连接。现在新版本都没有开启skip-networking。

执行 mysqldump 时出现找不到某一个 tables 并且中断执行?


Error Meaage:


执行 mysqldump 时出现找不到某一个 tables 并且中断执行


#/usr/local/bin/mysqldump xoops > xoops.sql           //执行 mysqldump 并出现如下错误讯息 mysqldump: Got error: 1146: Table 'xoops.vote_results' doesn't exist when using LOCK TABLES


找了 google 说加上 --skip-lock-tables 试试,也是不行


#/usr/local/bin/mysqldump --skip-lock-tables xoops > xoops.sql Error: Couldn't read status information for table vote_results () mysqldump: Couldn't execute 'show create table `vote_results`': Table 'xoops.vote_results' doesn't exist (1146)


进入 phpmyadmin 管理接口后关于此 vote_results table 的征状


1.并没有看到 vote_results table 2.但使用指令 show tables; 却有看到 vote_results table 3.使用 drop table vote_results 又说该 table 不存在无法 drop 4.至 mysql 目录下有看到 vote_results.frm 档案


Ans:


反正这也只是投票的结果而以,就把 vote_results.frm 档案拿掉,并重新启动 mysqld 后,就可顺利执行 mysqldump 了。