Новичок здесь, перенося мой сайт с общего хоста на виртуальный хост на основе имени на новом виртуальном частном сервере (Linode) под управлением Ubuntu 16.04. Апач работает. Я установил MySQL и создал пустую базу данных. У меня нет брандмауэра (пока); iptables показывает пустые списки.
Я создал пользователя MySQL с именем 'jk' с доступом из любого места. Вы можете видеть это в этом результате запроса:
mysql> select host, user from mysql.user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | jk |
| localhost | debian-sys-maint |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)
и 'netstat' говорит, что порт 3306 прослушивает откуда угодно (см. первый результат):
jk@bird:~$ netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 244 45.56.81.181:22 24.4.251.228:58915 ESTABLISHED
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
На Линоде все выглядит хорошо (для новичка).
Но не так хорошо, когда я пытаюсь подключиться к нему со своего Mac. Поскольку DNS по-прежнему указывает на мой старый общий хост, я указываю свой сервер Linode по его цифровому IPv4-адресу. Когда я запрашиваю функцию сканирования портов сетевой утилиты macOS для поиска порта 3306 на моем сервере Linode, он ничего не находит. Чтобы убедиться, что я правильно использую этот инструмент, я сканировал порты 22 и 80 и обнаружил, что они открыты, как и ожидалось. Кроме того, он говорит, что порт 3306 открыт на моем старом общем хосте.
Клиентское приложение MySQL (Sequel Pro) на моем Mac подтверждает эту проблему:
MySQL said: Can't connect to MySQL server on ‘45.56.81.181’ (61)
Что может быть не так?