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?

  • What versions are you using for Ubuntu/MySQL? – Andrew M. Nov 29 '10 at 16:39
3

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

chmod 1777 /tmp

Then try to restart mysql

  • just as likely /tmp is full or out of inodes – Joris Nov 29 '10 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 '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
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.

  • See updated post. – Thys Nov 29 '10 at 20:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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