Со вчерашнего дня мои таблицы InnoDB в моей установке Mysql на Ubuntu больше не работают, я пытался открыть их с помощью Navicat, но получаю ошибку «Unknown Table engine 'InnoDB'».
Когда я пытаюсь перечислить все двигатели, использующие 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 отсутствует в списке, есть предложения, как это исправить? Или даже поменять двигатель на стол, не требуя старый двигатель?
После проверки журнала я обнаружил следующее;
/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, и innodb не запускается из-за неправильных размеров файла ibdata.