Handshake reading initial communication packet при подключении к MySQL через SSH тунель Leave a comment

Очень часто для администрирования базы данных MySQL необходимо подключаться к БД через создание SSH туннеля. Например можно использовать популярную программу «Heidisql». Которая позволяет просматривать таблицы, выполнять некоторые процедуры и в целом удобно работать с БД.

Те кто сталкивается  с настройкой подключения к базе через SSH туннель наверняка могли получать ошибку во время подключения, примерно следующего содержимого «Handshake reading initial communication packet …..» или «Lost connection to MySQL server at ‘handshake: reading initial communication packet’, system error: 0».

Решение проблемы очень простое: (Чаще всего это актуально для Centos)

— Добавить настройку в файл сервера: /etc/ssh/sshd_conf

По умолчанию на Ubuntu подобных системах этот параметр итак имеет значение yes, но на некоторых системах вроде Centos — этот параметр чаще всего имеет значение no

После этого перезапустить демона sshd

Другое решение (на пример в Ubuntu на хостингах VPS)

Такое решение актуально для автоматически устанавливаемых VPS на хостинге Beget

Сначало проверить, а слушает ли MySQL свой порт 3306

Эта команда должна вывести хоть что нибудь. Если вывод пустой, тогда это наш случай и вам нужно найти в конфигах mysql строчку

skip_networking = 1 в секции [mysqld]

и просто закоментировать её

Далее перезапустить службу mysql

После этого mysql сервер начнёт слушать порт по умолчанию 3306

Обратите внимание, что параметр может быть в дополнительных конфигурационных файлах, а не в основном.

Конфигурация mysql
Конфигурация mysql. Параметр на изображении закоментирован

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *