Привет, у меня есть сервер MySQL, к которому мне нужен доступ через VPN.
Я использую пакет MySQLdb для доступа к серверу MySQL в Python.
Когда я могу получить доступ к серверу без VPN, он работает нормально, но когда я нахожусь в определенных местах, мне нужно подключаться через VPN.
Мой компьютер подключен к VPN, и я могу получить доступ к базе данных через PHPMyAdmin, но MySQLdb выдает мне сообщение об ошибке: OperationalError: (2003, «Не удается подключиться к серверу MySQL на 'MY_IP' (10061)»)
Есть идеи, почему это не работает? Спасибо
Чтобы проверить предложение Джеда выше (откройте окно cmd, если вы работаете в Windows), замените 192.168.201.1 на IP-адрес или имя хоста вашего сервера mysql. Если он заблокирован, вы увидите что-то вроде:
$ telnet 192.168.201.1 3306
Trying 192.168.201.1...
и в итоге тайм-аут.
Если вы можете добраться до порта, вы должны увидеть что-то похожее на:
$ telnet 192.168.201.1 3306
Trying 192.168.201.1...
Connected to 192.168.201.1.
Escape character is '^]'.
?
5.1.37-1ubuntu5.1C[&Elne0d])O5ZG4mKmdConnection closed by foreign host.
Если это первое, то покажите это администратору VPN / брандмауэра, и он сможет помочь.
Надеюсь это поможет.
PHPMyAdmin - это веб-приложение, которое ваш VPN, вероятно, легко пропускает (TCP-порт 80 или https на 443). Вероятно, ваш VPN не пропускает порт MySQL (TCP 3306, если он установлен по умолчанию).
Удачи,
--джед
По умолчанию MySQL разрешает TCP-соединения только с localhost - при условии, что ваше приложение python работает на том же компьютере, что и MySQL, убедитесь, что ваши привязки MySQL привязаны к локальному IP-адресу, а не только к 127.0.0.1, и что на машине нет брандмауэра. предотвращение подключений к порту 3306.