首页 > 解决方案 > 无法连接到在不同机器上的容器上运行的远程 mySQL 数据库

问题描述

我正在尝试连接到另一台机器上的 mySQL 数据库。并且 mysql 在容器上运行。

在此处输入图像描述

我使用为 docker 容器生成的给定网桥网络 IP 地址从不同的机器(在同一个 wifi 网络上)访问 mysql。

在此之前,我已通过在 mysql 控制台中运行以下命令来授予对主机 IP 地址的访问权限。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.x.x.x' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

还更新了 /etc/mysql/my.cnf 文件

bind-address   = 127.0.0.1
bind-address   = 172.x.x.x

当我试图用mysql -u root -h 172.17.0.1 -p它执行时

ERROR 1130 (HY000): Host '172.x.x.x' is not allowed to connect to this MySQL server

我有什么遗漏吗?

标签: mysqldockernetworkingcontainers

解决方案


您需要添加以下行并删除其他绑定地址配置,以便能够接收来自 localhost 和其他可用接口的连接:

bind-address = 0.0.0.0

推荐阅读