Host ‘xxx.xx.xxx.xxx’ is not allowed to connect to this MySQL server. Решение

Для того чтобы удаленно подключится к MySQL серверу, который находится у Вас вне локального хоста, например вебсайт или виртуальная машина,  нужно создать нового пользователя с правами администратора. Для этого зайдите в phpmyadmin и выполните Query следующего содержания:

CREATE USER 'имя_нового_пользователя'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'имя_нового_пользователя'@'localhost' WITH GRANT OPTION;
CREATE USER 'username'@'%' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'имя_нового_пользователя'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Естественно требуется изменить параметры имяновогопользователя и пароль на те, которые Вам требуются.

Еще одна причина по которой может быть закрыт доступ, это конфиг MySQL сервера.  Проверить это можно просто.  Пишем в терминале (для пользователей Windows нужно просто найти конфиг файл MySQL сервера который Вы установили, он тоже называется my.conf)

sudo nano /etc/mysql/my.cnf

В данном конфиг файле нужно найти параметр bind-address = 127.0.0.1 и изменить его в соответствии с Вашими требованиями.
Например, если Вы хотите открыть доступ для определенного IP достаточно написать bind-address = XXX.XXX.XXX.XXX, то есть четко указа IP  с которого Вам нужно подключится.
А если Вы хотите открыть доступ для всех входящих подключение (с любого IP адресса) достаточно написать так bind-address = 0.0.0.0 или просто закоментировать данный параметр вот так #bind-address = 127.0.0.1

Теперь, если Вы используете Windows и на виртуальной машине у вас крутится локальный сервер Вы можете подключится к MySQL серверу из Windows среды по средствам любой программы для MySQL типа HEIDISQL или NAVICAT используя Вашего вновь созданного пользователя и в качестве хоста используя IP адрес виртуальной машины.
На этом все, упехов.

 

Оставьте комментарий

%d такие блоггеры, как: