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

Доступ к серверу MySQL через VirtualBox

Я пытаюсь заставить сервер MySQL (который находится внутри виртуальной машины) отвечать клиенту (который находится на хост-машине). Все методы возвращают то же самое:

Host '10.0.2.2' is not allowed to connect to this MySQL server

Я обеспечил правильную переадресацию портов. Я также заверил, что в my.cnf У меня есть следующие строки:

skip-external-locking
bind-address = 0.0.0.0

Со мной это не сработало. Я также попробовал немного поиграть следующим образом:

bind-address = 10.0.2.2

Но у меня это тоже не сработало - сервер просто не запускался.

Есть идеи, где я ошибаюсь?

ОБНОВИТЬ. Я не проверял привилегии для root@% как в Как изменить привилегии для уже созданного пользователя MySQL?

РЕШЕНО.

Локальный хост учетной записи root-only в подавляющем большинстве установок по умолчанию, уверены ли вы, что разрешили ему вход из другой системы? Из Справочное руководство по MySQL:

это означает, что в пользовательской таблице нет строки со значением Host, которое соответствует хосту клиента

Итак, нет % или 10.0.2.2 в Host колонка вообще. Проверьте свою текущую конфигурацию:

select user,host from mysql.user where user='root';

Вероятно, вы захотите создать новую корневую запись с тем же паролем, что и сейчас.

create user 'root'@'10.0.2.2' identified by 'yourpassword';
grant all privileges on *.* to 'root'@'10.0.2.2' with grant option;
flush privileges;