SHOW ENGINES; 没有列出InnoDB

从昨天开始,我在Ubuntu上的Mysql安装中的InnoDB表不再工作,我试图用Navicat打开它们,但是我得到了“未知表引擎InnoDB”的错误。

当我尝试使用Show Engines;列出所有的Show Engines; 它返回;

 +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 7 rows in set (0.00 sec) 

正如你可以看到InnoDB没有列出,关于如何解决这个问题的任何build议? 甚至改变一个表的引擎,而不需要旧的引擎?

检查日志后,我发现这个;

 /usr/sbin/mysqld: Can't create/write to file '/tmp/ibnGBtbE' (Errcode: 13) 101129 21:03:17 InnoDB: Error: unable to create temporary file; errno: 13 101129 21:03:17 [ERROR] Plugin 'InnoDB' init function returned error. 101129 21:03:17 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 

任何想法如何解决这个问题?

然后听起来像/ tmp上的权限搞砸了..

 chmod 1777 /tmp 

然后尝试重新启动mysql

检查你的mysql错误日志..你可能已经对你的my.cnf文件进行了修改,并且由于ibdata文件的大小不正确,innodb无法启动。