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

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

Ответ 1

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

ALL: ALL: DENY

или

mysqld: ALL: DENY

- ваш враг.

Ответ 2

проверить с этого хоста

shell> telnet IP 3306

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

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

Ответ 3

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

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

пропуск сети

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

mysqld: ALL: ALLOW

mysqld-max: ALL: ALLOW

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

Как мы все знаем, существует множество способов установить и настроить 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 APP.

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

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

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

Ответ 9

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

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

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

полностью отключить установку 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*

Ответ 10

Используете 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