2016-10-12 7 views
0

Там было много сообщений с этим вопросом, так что позвольте мне иметь четкое представление о характерных особенностях:Perl DBI MySQL сервер ушел - не проблема тайм-аут

  • это происходит с Perl DBI
  • это происходит с помощью команды $ db-> do («удалить строки из таблицы, где условие»)
  • происходит сразу после создания объекта db, т. е. утверждение никогда не завершается,
  • это происходит со сценарием, который отлично работает на моем рабочая станция, но не работает на сервере
  • версии MySQL на обеих машинах одинаковы: MySQL Ver 14,14 DISTRIB 5.7.15 для Linux (x86_64) с помощью EditLine обертку

Я всегда получаю эту ошибку:

DBD :: MySQL: : дб сделать не удалось: MySQL сервер ушел в (Eval 18) [/ USR/доли/perl5/perl5db.pl: 646] линия 2

DBI_TRACE = 1 ничего в частности

не показывают, что может быть причиной этого?

Большое спасибо заранее.

+0

Вы пытались запустить [mysqlcheck] (http://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html)? – ThisSuitIsBlackNot

+0

Спасибо за подсказку. Я проверю эту функцию. Тем не менее, он используется для проверки таблиц, и в этом случае я не мог связаться с сервером. – Peter

+0

«Сервер ушел» означает, что вы потеряли соединение * после того, как оно было успешно установлено. * Это может произойти при сбое mysqld. Существует множество возможных причин сбоев, но я видел, что это повреждение таблицы, которое можно восстановить с помощью mysqlcheck. – ThisSuitIsBlackNot

ответ

-1

Решено. Я сменил хост с localhost на 127.0.0.1, и он сработал.