mysql - 无法连接到在不同机器上的容器上运行的远程 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
我有什么遗漏吗?
解决方案
您需要添加以下行并删除其他绑定地址配置,以便能够接收来自 localhost 和其他可用接口的连接:
bind-address = 0.0.0.0
推荐阅读
- reactjs - 具有依赖关系的 React Hooks setInterval 触发多个间隔
- javascript - 通过多个参数过滤对象数组
- c# - 在 ASP.NET 核心中创建 JWT 是否有更简单的方法?又名“JWT 身份验证的最佳实践?”
- reactjs - React JS:提供者组件如何验证或检查组件是否具有其上下文?
- c# - System.InvalidOperationException :
没想到 - asp.net-core - 在 asp.net core 5 中创建一个新的活动
- javascript - javascript中如何根据用户id动态加载内容
- c# - 如何将文件日志记录添加到 c# graph api 通知应用程序(切换或扩展 Ilogger 以将信息记录到日志文件)
- arrays - 在 C 代码中将 char 数组元素转换为等效的十六进制
- javascript - 剑道对话框弹出多次单击多次打开