Назад | Перейти на главную страницу

Почему я не могу удаленно подключиться к MySQL, работающему на моем Azure VPS?

Я установил MySQL 5.5 на Microsoft Azure VPS (2012 Server). Я создал учетную запись пользователя, разрешил любому хосту и создал EndPoint на порт 3306. Я могу удаленно подключиться к VPS с помощью RDP и подключиться локально.

Я также разрешил установщику MySQL создать необходимые правила брандмауэра в Windows, и он оказался действительным (разрешив входящий TCP-порт на порт 3306).

Что мне не хватает?

Ошибка: «Не удается подключиться к MySQL Server (4) 2003».

И я не могу найти файлы журнала MySQL.

Кроме того, это дамп моей таблицы mysql.user:

Host        User    Password
-------------------------------------------------------------
localhost   root    *0735EF2BBDF0D50FB780E9B58198D7260991E311
127.0.0.1   root    *0735EF2BBDF0D50FB780E9B58198D7260991E311
::1         root    *0735EF2BBDF0D50FB780E9B58198D7260991E311
%           cbmeeks *3CA067E806B5BB2DF87A89D517BBAF80DD22C27A

Ни то, ни другое cbmeeks или root работать удаленно.

Я ненавижу отвечать на свой вопрос, но решение было прямо передо мной. Я сделал все логические попытки и наконец обнаружил, что это действительно брандмауэр Windows.

Я ЗНАЛ, что, очевидно, блокировка порта помешает удаленному подключению.

Это было первое место, куда я посмотрел. Однако я не уловил того, что для правила входящего было установлено значение «Домен». Я установил его на «Public», и это сработало.

Не специалист по правилам брандмауэра Windows, но, надеюсь, это кому-то поможет.

Поскольку у меня будет подключение Azure VPS к другому Azure VPS, вероятно, стоит упомянуть, что правило брандмауэра следует настроить так, чтобы разрешать подключения только с разрешенных VPS. Но это уже другая тема. Надеюсь, это поможет кому-то другому.

Спасибо @Suku за то, что указал мне на страницу справки.

Вам необходимо иметь записи для конкретного хоста в mysql.user стол.

mysql> use mysql;
Database changed
mysql> select Host,User,Password from user;
+------------+------+-------------------------------------------+
| Host       | User | Password                                  |
+------------+------+-------------------------------------------+
| localhost  | root | *62395BB52702DE50773EBF629DD4AE90F07FFD94 |
| sgeorge-mn | root |                                           |
| 127.0.0.1  | root | *62395BB52702DE50773EBF629DD4AE90F07FFD94 |
| ::1        | root |                                           |
| localhost  |      |                                           |
| sgeorge-mn |      |                                           |
| localhost  | suku | *EAF5C8242B88A14545BB61062D64CA5207DD1A37 |
+------------+------+-------------------------------------------+
7 rows in set (0.01 sec)

Итак, следуйте меня создать такого пользователя с разрешением на удаленный доступ.

[ДОБАВЛЕНО] Если у вас уже есть такой пользователь, попробуйте выполнить шаги, указанные на меня

У меня была такая же ошибка головной боли (ошибка «Не могу подключиться к серверу MySQL (4)») около 3 недель, наконец я обнаружил, что моя проблема была основана на правиле брандмауэра.

Решение заключалось в том, чтобы попросить моего хостинг-провайдера открыть порт 3306, но в режиме OUT.

Не пытайтесь ожидать, поскольку это большое решение, потому что есть много вещей, которые следует учитывать при настройке, но эй! я наконец получил его, и все дело в брандмауэре моего провайдера.

Надеюсь, это поможет кому-то.