MySQL

Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 18 окт 2014, 22:41

Привет, Александр.
Поставил Денвер, и такая вот петрушка, вроде все установилось, но….
MySQL сервер не отвечает, ошибка 2002.
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 19 окт 2014, 13:20

Вообще, когда Денвер запускаешь, mysql сервер стартует?
Попробуй, отключив Антивирус и Брандмауэр запусти Денвер.
Для начала посмотри в диспетчере задач Windows, там должен быть процесс mysqld.exe
Если он там есть потом тебе нужно в командной строке Windows ввести:

Код: Выделить всё
telnet 127.0.0.1 3306


Должен быть какой-то ответ от MySQL сервера в виде строки с каким-то текстом (могут быть кракозябы) это значит, что сервер ответил.
Если же будет сообщение типа "Не у далось открыть подключение к этому узлу на порт 3306...." - значит не подключается.
Тогда пробуй команду:

Код: Выделить всё
telnet localhost 3306


Если она будет успешной, то возможно, проблема из серии настройки сети ipv6 и т. п. http://forum.dklab.ru/viewtopic.php?t=38843
Если не успешно, смотри кто слушает порт 3306
В командной строке Windows выполни:

Код: Выделить всё
netstat -an


(в выводе правой кнопкой мыши ищи 3306)
или более детальная:

Код: Выделить всё
netstat -ab


Ну и на всякий случай убедись, что порт MySQL в конфигурационном файле задан как 3306, также посмотри файл ошибок MySQL
Стандартный проводник Windows может не показывать эти файлы, тогда пользуйся каким-нибудь файловым менеджером.
Где у тебя расположены эти файлы, см. на форуме Денвера, обычно конфигурационный лежит в Z:\usr\local\mysql5\ , файл ошибок в Z:\usr\local\mysql5\data
http://www.denwer.ru/faq/other.html#h30-15
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 19 окт 2014, 14:43

В диспетчере такого процесса нет хотя изначально при загрузке денвер в командной строке пишет что-то вроде:

Подключение mysql

Готово.


Что касаемо порта 3306 я так понимаю это к нему относится

Код: Выделить всё
# The following options will be passed to all MySQL client.

[client]

port                  = 3306

socket                = /tmp/mysql5.sock

character-sets-dir    = /usr/local/mysql-5.5/share/charsets

# Кодировка консоли mysql.exe по умолчанию.

default-character-set = cp1251

# The MySQL server

[mysqld]


# Обработывать запросы ТОЛЬКО с локальной машины (повышает безопасность).

# Если вы хотите, чтобы MySQL-сервер был доступен из сети,

# уберите следующую ниже директиву.

bind-address = 127.0.0.1

port                       = 3306


Это в файле my.ini прописано

Файл с ошибками подкрепляю, погляди пожалуйста может чего увидишь
MySQL.err.txt
Лог ошибок MySQL
(13.62 Кб) Скачиваний: 629
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 19 окт 2014, 17:30

Смотри в сторону конфигурационного файла и затребуемых там ресурсов памяти.

Вот похоже что обрывает процесс:
InnoDB: Error: auto-extending data file .\ibdata1 is of a different size
InnoDB: 384 pages (rounded down to MB) than specified in the .cnf file:
InnoDB: initial 640 pages, max 0 (relevant if non-zero) pages!
141014 20:08:15 InnoDB: Could not open or create data files.
141014 20:08:15 InnoDB: If you tried to add new data files, and it failed here,
141014 20:08:15 InnoDB: you should now edit innodb_data_file_path in my.cnf back
141014 20:08:15 InnoDB: to what it was, and remove the new ibdata files InnoDB created
141014 20:08:15 InnoDB: in this failed attempt. InnoDB only wrote those files full of
141014 20:08:15 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
141014 20:08:15 InnoDB: remove old data files which contain your precious data!
141014 20:08:15 [ERROR] Plugin 'InnoDB' init function returned error.
141014 20:08:15 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141014 20:08:15 [ERROR] Unknown/unsupported storage engine: InnoDB
141014 20:08:15 [ERROR] Aborting


Пробей в Яндексе по этим ошибкам.
Вот, кажется наиболее простое (Дмитрий Кóтеров кстати, разработчик Денвера)
http://forum.dklab.ru/viewtopic.php?t=14113
http://forum.dklab.ru/viewtopic.php?p=72845#72845

Думаю примерно так: у MySQL есть разные движки для хранения данных, основные: MyISAM и InnoDB. InnoDB, кажется, в Денвере не используется.
В силу каких-то твоих особенностей (может ты раньше Mysql/Денвер устанавливал, но плохо удалил или еще бог знает что..), в общем, кажется этот InnoDB пытается создать дополнительное хранилище и натыкается на какое-то ограничение в конфигурации.
Тебе нужно почитать как в Денвере устроено конфигурирование MySQL (один конфигурационный файл или есть еще где-то, если в конфиге какие-то лимиты не прописаны, может они по умолчанию в MySQL идут).

Может потребуется удалить файл типа .\ibdata1 не знаю. Все удаления лучше делай в последюю очередь, даже лучше не удалять, наверное, а просто переименовывать.
Последний раз редактировалось Александр 24 ноя 2014, 14:42, всего редактировалось 1 раз.
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 20 окт 2014, 20:10

Спасибо помогло, теперь надо разобраться с ограничениями, он выкидывает какие то лимиты на загрузку файлов
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 21 окт 2014, 19:46

Привет! Как всегда нужна твоя помощь, с денвером вроде разобрался, но вот досада при закачке файлов сайта на сервер возникают проблемы, судя по различным комментариям в инете это нормально, при возникновении каких любо проблем в самом phpadmyn отражаются какие именно необходимо решить вопросы, так все и шло изначально, но вдруг столкнулся с такой проблемой (#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 ''2014-08-' at line 1) и никак не могу найти толкового ответа, может подскажешь что это?
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 21 окт 2014, 20:53

Привет.
Т. е. ты хочешь залить на локальный mysql-сервер дамп, сделанный на хостинге? ты его случайно не открывал простым блокнотом и потом пересохранял?
Пришли мне на почту сам дамп что ли.
Чтобы сразу исключить и на будущее, почитай про BOM http://mywordpress.ru/support/viewtopic.php?id=2461
вот еще http://sqlinfo.ru/articles/info/15.html
Я тебе, кстати, писал когда-то, что стандартными windows редакторами не пользуйся т. к. там всякие "сюрпризы" могут быть, используй либо notepad++ либо notepad2
http://notepad-plus-plus.org
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 21 окт 2014, 21:26

Я его открывал и пересохранял но через notepad++
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 21 окт 2014, 22:16

Я смотрю, дамп имеет кодировку Windows-1251. Похоже, что при экспорте на хостинге в PhpMyAdmin или какая программа там еще, не знаю.. была выставлена кодировка Windows-1251 (синоним CP1251) а нужна UTF-8, насколько я понимаю..
И ты наверное пытаешься на Денвере залить через PhpMyAdmin этот файл как файл, имеющий кодировку UTF-8.
Примерно так, в общем, похоже на какую-то несогласованность в кодировках.

И еще, смотрю в дампе стоит тип ENGINE=InnoDB. Похоже хостер так настроил СУБД тип InnoDB и экспорт в Windows 1251.
Короче, в такой ситуации, думаю тебе пока не стоит заливать базу назад на хостинг...
Но для локальных экспериментов попробуй в Notepad++ перекодировать этот файл в UTF8 без BOM и поиском/заменой поменяй InnoDB на MyISAM.
Локально не страшно пробовать. На хостинг, опять повторяю, наверное лучше пока тебе не пытаться базу перезаливать, пока не разберешься что к чему.
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 21 окт 2014, 22:50

Понял буду пробовать
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 22 окт 2014, 09:25

Пробуй, только там не всё так просто. То что я тебе написал возможно сработает. Правда, я подзабыл, что в Денвере как я понимаю до сих пор в настройках MySQL прописано чтобы базы в кодировке windows-1251 создавались. Возможно они такое устаревшее безобразие поддерживают из соображений удобства для не разбирающихся совсем пользователей. Но сейчас все переходят на UTF8. Наверное Котеров считает, что кто захочет, тот разберется.. в общем, это я к тому, что в MySQL много мест, где задаются кодировки; как в конфиге, так и например, в самом дампе, в phpMyAdmin тоже задаются.., в phpMyAdmin выставишь в полях настройки, вроде всё ОК, но, например, месяц не будешь пользоваться им, настройки обнулятся т. к. привязаны к сессии в браузере!

Даже, например, ты создал базу в Денвере, она будет в кодировке Windows-1251, но если ты посмотришь свой дамп с хостинга, то увидишь, что там таблицы создаются с инструкцией DEFAULT CHARSET=utf8;
Т. е. они принудительно будут в utf8 создаваться, а захочешь через phpMyAdmin в этой же базе таблицу сделать, она будет создана в кодировке windows-1251.
я могу в чем-то путаться т. к. не знаю точно как у тебя сейчас, но ты должен быть в курсе, что не все там просто с этим, кодировки - вообще, одна из самых неприятных тем.
Я даже статью писал про это
viewtopic.php?f=11&t=21
лучше, конечно от первоисточника почитать
http://dev.mysql.com/doc/refman/5.5/en/charset.html
Кодировки не только в базе имеют значение, кодировки могут задаваться в заголовках html-документов, заголовках ответа сервера (php, .htaccess, httpd.conf), кодировки самих файлов,
Но т. к. сейчас у тебя задача просто разместить сайт локально, думаю, тебе не требуется досконально с MySQL разбираться и перенастраивать Денвер, поэтому и говорю что наверное предыдущий рецепт поможет.
Возможно придется кодировку в ответе сервера Apache переделать в .htaccess в корневой папке сайта (на Денвере), если в браузере кракозябы будут, прописать строку:
Код: Выделить всё
AddDefaultCharset utf-8

Еще, в добавление ко вчерашнему.. сам вспоминаю когда-то мучался с подобным ..
Учитывая, что Денвер настроен на windows-1251. Возможно, тебе нужно не в той последовательности, как я писал раньше:
попробуй в Notepad++ перекодировать этот файл в UTF8 без BOM и поиском/заменой поменять InnoDB на MyISAM

А для начала просто поменять InnoDB на MyISAM в файле дампа и попробовать его загрузить. А если не пойдет, то потом перекодировать в UTF8 без BOM и опять попробовать загрузить.
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL ошибка 1064

Sergej » 22 окт 2014, 22:28

Слушай может я чего не так делаю но что-то не получается, через нотепад++ нажимаю перекодировать, потом опять архивирую и заливаю и
Вот так выходит
MySQL error 1064
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 22 окт 2014, 23:18

Файл дампа в конце грубо обрезан. Посмотри исходный дамп с хостинга, там тоже обрезано? Этот дамп, что ты мне прислал, он вообще как сделан? Может твой архиватор режет, вообще, можно дамп после изменения не архивировать, а так заливать как файл.
Если дамп такой уже на хостинге получается, то выясняй, может есть какие-то ограничения на хостинге на размеры дампа, хотя 3.5 Мб вроде не так много, или может браузер режет при загрузке..

На хостинге и в Денвере в настройках php и mySQL могут быть ограничения на размер используемой оперативной памяти, на время работы php скрипта, (phpMyAdmin это и есть php скрипт), на размер загружаемого файла методом POST.
Еще на хостинге могут быть ограничения по нагрузке на процессор и т. п.. Если файл (дамп) обрезанным на хостинге создается, обратись к ним в поддержку.
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 23 окт 2014, 20:45

В общем я победил таки денвер, почему дамп был обрезанный не знаю, подозреваю архиватор срезал, потому как в конечном результате я самый первый файл дампа залил, но при запуске сайта на локальном хосте на сайте буквы кракозябами:
Денвер сайт кракозябы
Sergej
 
Сообщения: 12
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 23 окт 2014, 21:56

Ну да, это похоже на utf8, который интерпретируется как windows-1251.
Попробуй в корне сайта в файле .htaccess прописать строку
Код: Выделить всё
AddDefaultCharset utf-8


Или более глобальное решение:
Идешь по пути
Z -> usr -> local -> apache -> conf -> httpd.conf:
В файле httpd.conf
находишь строку
Код: Выделить всё
AddDefaultCharset windows-1251
и меняешь её на
Код: Выделить всё
AddDefaultCharset utf-8

После этого Денвер нужно перезапустить.
Александр
 
Сообщения: 213
Зарегистрирован: 20 мар 2014, 17:05


Вернуться в SQL