2012-01-10 2 views
3

Я пытаюсь перенести тестовый сайт на drupal на живой сервер на Amazon ec2. Я перенесла базу данных с помощью phpmyadmin и попыталась получить доступ к сайту. Я получил эту ошибку:MySQL неизвестный движок таблицы innodb

PDOException: SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB': SELECT expire, value FROM {semaphore} WHERE name = :name; Array ([:name] => variable_init) in lock_may_be_available() (line 167 of /var/www/includes/lock.inc).

Я считаю, проблема в том, что MySQL не имеет InnoDB. Я просмотрел файл my.cnf и нет строки, которая говорит skip-innodb.

Я пробовал show engines, и он показал кучу двигателей, но не innodb. Я попытался перезагрузить свой сервер и удалить файл журнала, как это было предложено ранее, но это не сработало.

Возможно, что нужно сделать, так или иначе установить двигатель Innodb. Не могли бы вы рассказать мне, как я могу это сделать?

+0

У Doy есть любые строки конфигурации innodb, например. # Раскомментируйте следующее, если вы используете таблицы InnoDB innodb_data_home_dir = –

+0

У меня нет строк конфигурации innodb в моем файле my.cnf. Существует только этот ' # InnoDB включен по умолчанию с 10MB datafile в/var/lib/mysql /. # Прочитайте руководство по дополнительным параметрам InnoDB. Их много! ' Кстати, этот файл my.cnf живет в/etc/mysql, я немного смущен, потому что в моем/var/lib/mysql каталоге нет файла my.cnf – BBB

+0

У вас есть ibdata1 в это место? И вы могли бы разместить хорошую форматированную версию SHOW ENGINES; –

ответ

10

В Debian 6 это также может произойти, когда вы изменяете параметр innodb_log_file_size ... несколько раз mysql не запускается .., но в других случаях он просто запускает бутон отключает движок innodb ... поэтому решение заключается в удалении ib_logfiles из/var/lib/mysql и перезапуске mysql

+0

Спасенный мой день, спасибо за это! –

+0

Я только что перезапустил и решил проблему.благодаря –

0

Просмотрите ваш журнал ошибок mysql. Пробег

select @@log_error; 

Чтобы узнать, что именно именно отображается.

Возможно, что-то там говорит о том, почему это не удалось при запуске. (Возможно, пытаясь выделить больше пула буферов, чем у вас есть память?)

+0

Прошу прощения, где будет расположен журнал ошибок? У меня есть каталог mysql в/etc/mysql, каталог mysql/etc/mysql/mysql и каталог/var/lib/mysql Другое дело, что когда я открываю ib_logfile0 внутри var/lib/mysql, он дает некоторые смешные символы – BBB

+0

Я пытался сообщить, где найти журнал ошибок, запустив select @@ log_error; запрос. Это скажет вам, где именно. Это может быть /var/log/mysql/mysql.err. Иннодб всегда работал на этом сервере? Вы пытались просто скопировать файл ibdata с другого сервера? – atxdba

+0

спасибо за помощь; Я на самом деле просто закончил экземпляр ec2 и сделал новый; Я сообщу, если проблема не исчезла – BBB

Смежные вопросы