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;