【问题标题】:Unable to connect to remote mySQL database which is running on a container on different machine无法连接到在不同机器上的容器上运行的远程 mySQL 数据库
【发布时间】:2019-03-20 06:42:28
【问题描述】:

我正在尝试连接到另一台机器上的 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

我有什么遗漏吗?

【问题讨论】:

  • skip-networking:防止远程连接,bind-address 确保您只能从 localhost 相同的 ip 连接。你试过删除它们吗?或者为什么要允许远程连接时添加它们?
  • @MostafaHussein,对不起,我发布了错误的信息,现在我更新了
  • 只使用一个bind-address 如果想在两者上都可用,那么使用 0.0.0.0,我猜定义它两次是不正确的
  • 嗨,你能通过我之前评论中的设置让它工作吗?

标签: mysql docker networking containers


【解决方案1】:

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

bind-address = 0.0.0.0

【讨论】:

    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 2011-10-09
    • 2016-01-23
    • 1970-01-01
    • 2020-09-05
    • 2018-11-05
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多