简体   繁体   English

MySQL未知表引擎innodb

[英]MySQL unknown table engine innodb

I am trying to migrate a test website on drupal onto a live server on Amazon ec2. 我正在尝试将drupal上的测试网站迁移到Amazon ec2上的实时服务器上。 I migrated the database using phpmyadmin, and tried to access the site. 我使用phpmyadmin迁移了数据库,并尝试访问该站点。 I got this error: 我收到此错误:

PDOException: SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB': SELECT expire, value FROM {semaphore} WHERE name = :name; PDOException:SQLSTATE [42000]:语法错误或访问冲突:1286未知的表引擎'InnoDB':SELECT过期,值从{semaphore}到,WHERE name =:name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /var/www/includes/lock.inc). lock_may_be_available()中的数组([:name] => variable_init)(/var/www/includes/lock.inc的第167行)。

I believe the problem here is that MySQL doesn't have InnoDB. 我相信这里的问题是MySQL没有InnoDB。 I have looked through the my.cnf file and there is no line that says skip-innodb . 我已经查看了my.cnf文件,没有一行显示skip-innodb

I have tried show engines and it showed a bunch of engines but not innodb. 我尝试了show engines ,但显示了很多引擎,但没有显示innodb。 I have tried restarting my server and deleting the logfile, just like has been suggested previously, but that didn't work. 我已经尝试过重新启动服务器并删除日志文件,就像之前建议的那样,但这没有用。

Maybe what needs to be done is to somehow install the Innodb engine. 也许需要做的是以某种方式安装Innodb引擎。 Could you tell me how I may do that? 你能告诉我我该怎么做吗?

在Debian 6上,当您更改innodb_log_file_size参数时,也可能发生这种情况。有时mysql无法启动..但有时它只是启动bud会禁用innodb引擎。因此解决方案是从/ var / lib /中删除ib_logfiles。 mysql并重启mysql

Look in your mysql error log. 查看您的mysql错误日志。 Run

select @@log_error;

To see where exactly that is. 看那到底在哪里。

There is probably something in there telling why it failed on startup. 那里可能有些东西告诉它为什么启动失败。 (Perhaps trying to allocate more buffer pool than you have memory?) (也许试图分配的缓冲池多于您的内存?)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM