MySQL未知的表引擎innodb

时间:2012-01-10 01:57:23

标签: mysql drupal innodb

我正在尝试将drupal上的测试网站迁移到Amazon ec2上的实时服务器上。我使用phpmyadmin迁移了数据库,并尝试访问该站点。我收到了这个错误:

  

PDOException:SQLSTATE [42000]:语法错误或访问冲突:1286未知表引擎'InnoDB':SELECT expire,value FROM {semaphore} WHERE name =:name; lock_may_be_available()中的数组([:name] => variable_init)(/var/www/includes/lock.inc的第167行)。

我认为这里的问题是MySQL没有InnoDB。我查看了my.cnf文件,并且没有显示skip-innodb的行。

我试过show engines并且它显示了一堆引擎但不是innodb。 我已经尝试重新启动我的服务器并删除日志文件,就像之前建议的那样,但是没有用。

可能需要做的是以某种方式安装Innodb引擎。你能告诉我怎么做吗?

2 个答案:

答案 0 :(得分:10)

在Debian 6上,当你更改innodb_log_file_size参数时也会发生这种情况...有时候mysql没有启动...但有时它只是启动bud禁用innodb引擎...所以解决方法是从/ var中删除ib_logfiles / lib / mysql并重启mysql

答案 1 :(得分:0)

查看你的mysql错误日志。运行

select @@log_error;

看看究竟是哪里。

可能有一些东西告诉它为什么在启动时失败了。 (也许尝试分配比你有内存更多的缓冲池?)