Я установил 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.
Не пытайтесь ожидать, поскольку это большое решение, потому что есть много вещей, которые следует учитывать при настройке, но эй! я наконец получил его, и все дело в брандмауэре моего провайдера.
Надеюсь, это поможет кому-то.