Не удается установить удаленное соединение между Windows-клиентом и Linux-сервером MySQL - PullRequest
0 голосов
/ 27 мая 2019

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

У меня есть два компьютера, между которыми я хочу установить удаленное соединение MySQL: один - это компьютер Widows 10 в качестве клиента, другой - компьютер Ubuntu 18.04.2 LTS в качестве сервера MySQL.

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

import mysql.connector as sql
import time

print("Beginning SQP-Python Fetch Testing Script")

con = sql.connect(user = "pythonTest", password = "pyTest1!", host = "1*3.2**.3*.1**", port = "3306",
                  autocommit = True)
curs = con.cursor()

print("Successfully connected to MYSQL server")

curs.execute("use pyTest")

print("Successfully started using test database")

# while True:
curs.execute("select * from pytesting")
print(curs.fetchall())

Я сохраняю цензуру хоста для безопасности, но будьте уверены, это настоящий IP-адрес. Когда я запускаю код, я получаю это:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '1*3.2**.3*.1**' (10060 A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond)

Куда бы я ни посмотрел, везде указывается, что сеть MySQL на моем ПК с Linux не настроена правильно.

Для моей конфигурации MySQL у меня есть следующие две переменные:

#skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0
#

Все остальное я сохранил как неизменный, и он прекрасно работает, когда я подключаюсь через что-либо на ПК с Linux, либо через MySQL, либо через скрипт, приведенный выше.

Для моей сетевой статистики я запустил netstat, и вот что он вернул:

hsfc_uno@Uno:~$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 host-1*3.2**.3*.1:57210 ec2-52-41-177-216:https ESTABLISHED
tcp        0      0 host-1*3.2**.3*.1:36310 151.101.1.69:https      ESTABLISHED

IP-адреса такие же, как и раньше, за исключением последнего сегмента. Кажется, они используют «путь по умолчанию» вместо «IPv4-адрес», и я не знаю, является ли это также проблемой или нет.

Если кто-нибудь может помочь мне исправить это или указать мне правильное направление, это будет с благодарностью!

...