0

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?

1
  • What versions are you using for Ubuntu/MySQL?
    – Andrew M.
    Nov 29, 2010 at 16:39

2 Answers 2

3

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

chmod 1777 /tmp

Then try to restart mysql

3
  • just as likely /tmp is full or out of inodes
    – Joris
    Nov 29, 2010 at 21:12
  • 1
    nope.. error 13 is permission denied.. if he was full or out of inodes it would be a different error
    – Mike
    Nov 29, 2010 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 !!! Feb 24, 2011 at 3:52
1

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.

1
  • See updated post.
    – Thizzer
    Nov 29, 2010 at 20:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .