У меня проблема с удаленным подключением к базе данных MySQL.
Моя текущая настройка выглядит следующим образом: у меня на работе Windows 2008 Server, размещенный за маршрутизатором (фиксированный IP). Маршрутизатор настроил DMZ на сервер, что прекрасно работает для всего остального, что я тестировал, включая веб-сервер, VPN, FTP и т. Д. Брандмауэр Сервера открыт для необходимых служб на соответствующих портах. Я могу telnet ко всем этим портам прилично.
Единственное, что я не могу заставить работать — это удаленное подключение к базе данных MySQL. Я сделал все из следующего:
0.0.0.0:3306
(это автоматически делает это, когда не поставляет bind-address
);localhost
;'%'
;Впоследствии я пытаюсь выполнить сценарий PHP с размещенного веб-сервера (в другом месте в Интернете):
<?php
// Create connection
$conn = new mysqli(<host>, <username>, <password>);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
с <host>
, <username>
а также <password>
быть соответствующими и правильными учетными данными.
Этот скрипт просто отключается без ответа и выдает ожидаемую ошибку Connection failed: Can't connect to MySQL server on '<host>' (110)
, Я также не могу telnet на порт 3306. Подключение от localhost
работает отлично.
Я не знаю, что еще я забыл или сделал неправильно. Что мне не хватает?
Мне нужно это соединение, чтобы моя «система резервного копирования» была централизованной на размещенном веб-сервере. Я мог запустить свою «систему резервного копирования» локально на хосте mysql, но это затрудняет управление им из центральной точки. Кроме того, я хотел бы заставить его работать, чтобы действительно знать, что происходит. Я ненавижу не заставлять такие вещи работать.
Спасибо всем, у кого есть идеи о том, что может быть не так.
Кеннет
Задача ещё не решена.
Других решений пока нет …