Я недавно настроил сервер MySQL на домашнем компьютере с Windows. Кроме того, я также создал сайт, используя 0fees.net - бесплатный хостинг-провайдер, который поставляется с панелью Vista, которая имеет различные сервисы, включая поддержку PHP, FTP-хостинг файлов, собственный сервер MySQL и т. Д.
Для этого сайта я создал PHP-скрипт «login», чтобы люди могли войти на мою веб-страницу. Однако вместо чтения из базы данных MySQL, предоставленной мне на cPanel на 0fees.net, я хочу, чтобы скрипт входа в PHP выполнял чтение непосредственно с сервера MySQL, который я настроил на своем домашнем компьютере. Для этого я предпринял несколько шагов:
1) Настроил MySQL с помощью мастера настройки экземпляра MySQL Server
В этой конфигурации я включил сеть TCP / IP на порту 3306 (и включил исключение брандмауэра для этого порта) и включил корневой доступ с удаленных компьютеров.
2) В клиенте командной строки MySQL я предоставил возможности удаленного доступа другим устройствам с помощью:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
3) Я перенаправил порт 3306 на мой маршрутизатор (и использовал различные средства проверки портов, чтобы убедиться, что он открыт) * 1012 *
4) Я создал скрипт входа в систему с именем login.php, который находится в каталоге моего сайта .htdocs и обрабатывает форму входа в формате HTML на домашней странице моего сайта. Он пытается (и не удается) подключиться к моему локальному серверу MySQL. Интересующий вас сценарий php:
$host="my_external_ip:3306"; // External IP of my computer and port to listen on
$username="root"; // Username specified in the GRANT command-line-client command
$password="password"; // Password specified in the GRANT command-line-client command
$db_name="logon"; // MySQL database name
$tbl_name="accounts"; // Table name within the database
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die(mysql_error());
mysql_select_db("$db_name")or die("cannot select DB");
При попытке подключиться к серверу MySQL я получаю сообщение об ошибке:
Can't connect to MySQL server on 'my_external_ip' (4).
Следует также отметить, что я успешно могу подключиться к своему локальному серверу MySQL удаленно с других машин, которые находятся в других интернет-сетях (протестировано с Navicat), используя этот же внешний IP-адрес на порту 3306. Любые идеи относительно того, почему мой сайт также не может подключиться?
Заранее спасибо за любые идеи.