Не удается подключиться к серверу MySQL на [удаленном хосте] (где удаленный хост находится через ngrok) - PullRequest
0 голосов
/ 20 июня 2020

Я сейчас пытаюсь проработать руководство по созданию автоматизированной телефонной системы с использованием twilio и интегрировать его в базу данных MySQL (https://www.twilio.com/blog/connect-local-database-twilio-functions). Проблема, с которой я столкнулся, заключается в том, что я не могу подключиться к серверу MySQL после туннелирования с помощью ngrok.

Вот команда, которую я выполняю:

mysql --protocol=tcp --host=0.tcp.ngrok.io --port 18477 --user=root -p

Когда я нажимаю кнопку запуска, терминал находится в режиме ожидания в течение нескольких минут, а затем выводит: ERROR 2003 (HY000): Can't connect to MySQL server on '0.tcp.ngrok.io' (110)

Вот снимок экрана ngrok:

enter image description here

I have followed the steps in https://linuxize.com/post/mysql-remote-access/ , чтобы расширить мои знания о настройке удаленного доступа к mysql. Внизу статьи говорится, что эта ошибка обычно означает, что «порт 3306 не открыт или сервер MySQL не прослушивает IP-адрес». Затем я перешел по предоставленным ссылкам и проверил оба из них. на втором изображении был рассмотрен аспект прослушивания.

Обнаружив эту ошибку, я попытался провести небольшое исследование, чтобы увидеть, могу ли я отследить проблему. У меня нет опыта работы в сети, поэтому я ничего не понимаю, кроме клиента и основы работы с сервером и т. д. Я наткнулся на документацию mysql (https://dev.mysql.com/doc/refman/8.0/en/can-not-connect-to-server.html).

Там говорится: «Если сервер был запущен с системной переменной skip_networking, он не будет принимать TCP / IP-соединения вообще ». Кроме того, далее говорится:« Если сервер был запущен с системной переменной bind_address, установленной на 127.0.0.1, он будет прослушивать TCP / IP-соединения только локально на интерфейсе обратной связи и не будет принимать удаленные подключения. . "

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

Изображение ниже - это скриншот из MySQL Workbench. Мой адрес привязки открыт для всех и не ограничен локальными подключениями (bind_address в etc/mysql/mysql.conf.d закомментировано). Кроме того, для порта задано значение 3306. Наконец, skip-networking не проверяется, поэтому может возникнуть TCP / IP. enter image description here

To confirm that MySQL is listening on port 3306, I ran this lsof command with iTCP:3306. I believe this tells me that mysql is listening on 3306. I am not sure if USER refers to the user mysqld is running on, but if it is, I am not sure what this means in the context of root and other users.

введите описание изображения здесь

I wi sh это казалось тривиальным, но с небольшими знаниями в области сетевых технологий я легко могу упустить из виду что-то простое. Может быть предоставлена ​​любая дополнительная информация.

...