Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Since yesterday, my InnoDB tables in my Mysql installation on Ubuntu don't work anymore, I tried to open them using Navicat, but I get the "Unknown Table engine 'InnoDB'" error.

When I try listing all Engines using Show Engines; it returns;

| 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)

As you can see InnoDB is not listed, any suggestions on how to fix this? Or even change the engine for a table, without requiring the old engine?

After checking the log, I found this;

/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.

Any idea how to solve this?

share|improve this question
What versions are you using for Ubuntu/MySQL? – Andrew M. Nov 29 '10 at 16:39
up vote 3 down vote accepted

Then sounds like permissions on /tmp are messed up..

chmod 1777 /tmp

Then try to restart mysql

share|improve this answer
just as likely /tmp is full or out of inodes – Joris Nov 29 '10 at 21:12
nope.. error 13 is permission denied.. if he was full or out of inodes it would be a different error – Mike Nov 29 '10 at 21:19
I had this exact same problem today installing MySQL 5.5.9 but with a different folder. The folder was /var/tmpfs. The folder did not exist. So, I created the folder, did chmod 777 /var/tmpfs and restarted mysql. JACKPOT !!! – RolandoMySQLDBA Feb 24 '11 at 3:52

Check your mysql error log.. You might have made changes to your my.cnf file and innodb is failing to init due to incorrect ibdata file sizes.

share|improve this answer
See updated post. – NuclearFlox Nov 29 '10 at 20:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.