У некоторых хостинг-провайдеров можно подключаться к MySQL с домашнего компьютера. У нас же на хостинге, в целях безопасности, удаленное подключение к MySQL запрещено.
Но можно обойти это ограничение, если при помощи SSH создать туннель до сервера хостинга.
Может пригодиться для navicat, heidisql, visual studio code и других программ.
1. В командной строке выполните команду:
ssh -L 127.0.0.1:3306:/run/mysqld/mysqld.sock -Nf cXXX@hX.netangels.ru
Адрес 127.0.0.1 здесь и далее не является обязательным, можно использовать другой свой локальный IP-адрес. Вместо cXXX нужно будет указать свой номер контейнера. Вместо hX укажите сервер, который в панели управления отображается в настройках контейнера на вкладке SSH:
2. Если команда выполнилась успешно, то на вашем локальном компьютере будет открыт порт 3306.
Теперь с MySQL можно работать так, как будто он запущен у вас на компьютере и доступен по порту 3306. Подключения будут перенаправляться в MySQL, который находится на сервере хостинга.
Если вы собираетесь подключаться консольной утилитой mysql, то может потребоваться указать IP адрес:
mysql -h 127.0.0.1
Для проброса Unix сокетов потребуется OpenSSH версии 6.7 или выше. Версия 6.7 вышла еще в 2014 году, поэтому с большой долей вероятности у вас версия новее. Проверить версию можно так:
ssh -V
В Windows для создания SSH-туннеля понадобится PowerShell.
1. Наберите слово “PowerShell” в поиске Windows. После этого запустите программу от имени админитратора.
2. В командной строке PowerShell выполните команду:
ssh -L 3306:/run/mysqld/mysqld.sock cXXX@hX.netangels.ru
Вместо cXXX нужно будет указать свой номер контейнера. Вместо hX укажите сервер, который в панели управления отображается в настройках контейнера на вкладке SSH:
3. Если команда выполнилась успешно, то на вашем локальном компьютере будет открыт порт 3306.
Теперь с MySQL можно работать так, как будто он запущен у вас на компьютере и доступен по порту 3306. Подключения будут перенаправляться в MySQL, который находится на сервере хостинга.