Host 'XXX' is not allowed to connect to this MySQL server解决方法

谭庆新
·发布于 9 个月前·
3 人看过

1.问题

使用连接 docker 中的 mysql 时报错:

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

在容器中能正常进入 mysql,但是容器外无法连接进入

2.分析

经排查,其实是MySQL默认不允许远程登录,需要进入 docker 的 mysql 修改对应账号的权限

3.解决步骤

  • 首先,通过 docker ps 命令查看正在运行的 Docker 容器
docker ps

找到运行 MySQL 的容器名称或 ID。

  • 使用以下命令进入 MySQL 容器的交互式 shell
docker exec -it <container_id_or_name> mysql -u root -p

请将 <container_id_or_name> 替换为实际的 MySQL 容器 ID 或名称。

  • 输入 MySQL 的 root 用户密码以登录
mysql -u <username> -p
  • 使用以下命令查看所有数据库名称
  SHOW DATABASES;
  • 配置账号权限
use mysql;

update user set host = '%' where user = 'root';

FLUSH PRIVILEGES;
mysql
$ cd ..