Как настроить inno db в mysql 5.5.8 - PullRequest
5 голосов
/ 02 мая 2011

Я пытаюсь восстановить базу данных из файла sql через функцию импорта phpmyadmin.Я получил эту ошибку при попытке импортировать базу данных:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 15 

Попытался обойти в my.ini и сделал некоторые изменения:

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = C:\wamp\bin\mysql\mysql5.5.8\data/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = C:\wamp\bin\mysql\mysql5.5.8\data/
innodb_log_arch_dir = C:\wamp\bin\mysql\mysql5.5.8\data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

Но я получил эту ошибку:

#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured) 

Попытался запустить show engine в консоли mysql и обнаружил, что поддержка innodb установлена ​​по умолчанию.Я не устанавливал mysql отдельно, установил его через wampserver.По умолчанию для домашнего каталога и группы dir используется c: \ mysql \ data, но этот каталог не существует.Итак, я сделал следующее:

C:\wamp\bin\mysql\mysql5.5.8\data

Я не совсем уверен, правильно ли я поступаю.Как мне сделать это правильно?Пожалуйста помоги.Спасибо!

1 Ответ

10 голосов
/ 03 мая 2011

Первым делом первым делом. Конфигурация, которую вы сделали, не имеет отношения к предыдущей ошибке, показанной в журнале MySQL.

Начиная с версии 5.5, MySQL изменил синтаксис TYPE=INNODB на ENGINE=INNODB в инструкциях DDL. Это подразумевает, что вам нужно просмотреть эти затронутые операторы SQL, выданные вашим веб-приложением, чтобы устранить проблему.

Я вижу, вы используете PHPMyAdmin. Этот пакет может не обновляться для отражения изменения синтаксиса. Проверьте последний выпуск PHPMyAdmin и обновите его, если это возможно.

Убедитесь, что в файле опций, например my.cnf, нет такого параметра:

* * 1010

В противном случае двигатель Innodb будет отключен, даже если вы правильно настроили некоторые другие параметры.

В качестве альтернативы, чтобы проверить, является ли InnoDB механизмом хранения по умолчанию, вы можете выполнить следующую команду в клиентской консоли MySQL, чтобы проверить, доступен ли InnoDB:

SHOW VARIABLES LIKE 'have_innodb';

Если результат НЕТ, у вас есть двоичный файл mysqld, который был скомпилирован без поддержки InnoDB, и вам нужно получить другой файл.

Кстати, последнее сообщение об ошибке подсказывает вам проверить конфигурацию сокета MySQL, что может быть хорошим советом, чтобы выяснить, что на самом деле не так в файле опций MySQL. Если вы уверены, что ничего не ошиблись в файле параметров MySQL, вы можете попробовать завершить все процессы MySQL, выполняющиеся в данный момент в фоновом режиме, прежде чем снова запускать сервер MySQL. Это гарантирует, что никакой другой процесс MySQL не будет занимать локальный сокет.

Надеюсь, это поможет!

...