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