Не удалось подключиться: потеря соединения с сервером MySQL при чтении исходного пакета связи, системная ошибка: 0 - PullRequest
14 голосов
/ 07 июня 2009

Я запускаю приложение Rails, поэтому сейчас я пытаюсь удаленно подключиться к mysql и получаю эту ошибку Не удалось подключиться: потеря соединения с сервером MySQL при чтении исходного пакета связи, системная ошибка: 0

Ответы [ 10 ]

11 голосов
/ 12 августа 2009

Возможно, вы захотите проверить / etc / hosts.deny где:

ALL: ALL: DENY

или

mysqld: ALL: DENY

твой враг.

4 голосов
/ 30 декабря 2010

Перезагрузка сервера у меня сработала. Никаких изменений настроек не требуется.

3 голосов
/ 27 июля 2010

Включить удаленный доступ

Сервер MySQL по умолчанию не прослушивает порт TCP 3306. Чтобы разрешить (удаленные) соединения TCP, прокомментируйте следующую строку в /etc/mysql/my.cnf:

пропуск сеть

Не забудьте отредактировать /etc/hosts.allow, добавив следующие строки:

mysqld: ALL: ALLOW

mysqld-max: ALL: ALLOW

3 голосов
/ 17 октября 2009

Вам необходимо отредактировать файл конфигурации mysql, по умолчанию bind-adress установлен на 127.0.0.1.

Открыто: /etc/mysql/my.cnf

Измените bind-adress на ip, который вы собираетесь использовать для соединения yoursef с сервером базы данных.

3 голосов
/ 07 июня 2009

чек с этого хоста

shell> telnet IP 3306

Если MySQL включен и доступен, вы увидите версию mysql в выводе telnet. В противном случае проверяйте брандмауэр и т. Д., Пока telnet не преуспеет.

Тогда я советую вам сначала подключиться к нативному клиенту mysql, чтобы исключить Rails из проблемной области.

2 голосов
/ 30 января 2019

Используете OS X? Эта проблема исчезает на некоторое время после перезапуска mysqld, а затем снова появляется? Проверьте журналы сервера mysql при получении этих ошибок. Я вижу кучу записей, как показано ниже:

2019-01-30T17:34:04.009979Z 0 [Warning] File Descriptor 1564 exceeded FD_SETSIZE=1024

Эта ошибка указывает на возможные решения: https://expressionengine.com/blog/mysql-5.7-server-os-x-has-gone-away https://wilsonmar.github.io/maximum-limits/

Один из них добавляет следующие настройки в my.cnf

[mysqld]
table_open_cache=250
1 голос
/ 17 марта 2017

Как все мы знаем, есть много разных способов установить и настроить mySQL dbms (система управления базами данных) на наших машинах, кроме того факта, что мы все используем разные ОС (linux, osx, win $ hit и т. Д.)

В моем случае, в частности, я получал

connect': Lost connection to MySQL server at 'reading initial communication packet', system error: 102 (Mysql2::Error)

НО у меня даже не было /etc/hosts.deny у меня было только /etc/hosts, потому что я установил mySQL на свой OSX-компьютер с помощью простого приложения GUI OSX

enter image description here Состояние экземпляра MySQL было НЕ ОК Изображение выше - просто ссылка на приложение MySQL OSX.

Простой перезапуск сервера решил проблему. (В моем случае пришлось перезагрузить мою машину, но это включало перезагрузку сервера MySQL)

Я наконец-то смог снова нормально добраться до своего экземпляра localhost, не нужно было менять, создать один файл.

Надеюсь, это поможет, я вижу ответ Malcolm и комментарии, которые заставляют меня думать, что это было хорошо - опубликовать это.

1 голос
/ 18 октября 2010

mysqld-max: ALL: ALLOW позволили решить проблему для меня

1 голос
/ 07 июня 2009

Спасибо, ребята, за ваши усилия, я нашел решение, я должен был установить Remote Connection to MySQL, вот ссылка для кого-то, кто получил такую ​​же ошибку http://benrobb.com/2007/01/15/howto-remote-root-access-to-mysql/

0 голосов
/ 27 марта 2018

Никто, похоже, не ответил на это, и, похоже, он вновь возник как проблема почти через 7 лет после первоначальной подачи. Я видел это в приложении Rails, работающем с Capybara (использующим phantomjs), мои спецификации интеграции (только) периодически терпели неудачу с этим.

Перезапуск машины временно решил проблему.

Затем я полностью развернул установку MySQL (см. https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x) и переустановил ее с помощью homebrew. Проблема, похоже, исчезла, но я обновлю этот ответ, если он вернется.

для полной установки вашей MySQL (от https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x):

Открыть окно терминала Используйте mysqldump для резервного копирования ваших баз данных в текстовые файлы! Остановить сервер базы данных

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*

отредактируйте / etc / hostconfig и удалите строку MYSQLCOM = -YES-

rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
...