Я знаю, что это может быть помечено как дубликат, но на данный момент я слишком отчаянно нуждаюсь в точной помощи, поэтому заранее прошу прощения.
У меня есть два компьютера, между которыми я хочу установить удаленное соединение 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-адрес», и я не знаю, является ли это также проблемой или нет.
Если кто-нибудь может помочь мне исправить это или указать мне правильное направление, это будет с благодарностью!