【问题标题】:mysql 5.7 can't allow docker IP access on CentOS7mysql 5.7 不能在 CentOS7 上允许 docker IP 访问
【发布时间】:2016-11-22 07:28:23
【问题描述】:

我在 CentOS 7.1 上安装了 Mysql5.7 和 docker 服务。在本地用命令mysql -u root连接mysql就可以了。但是我尝试使用mysql -u root -h 172.17.0.1时连接失败,其中172.17.0.1是本地docker0的ip地址。

[root@test1 workspace]# mysql -u root -h 172.17.0.1
ERROR 1130 (HY000): Host 'test1.novalocal' is not allowed to connect to this MySQL server

我已经用谷歌搜索了原因并试图授予对 test1.novalocal 的访问权限,但没有幸运。

mysql> grant all on *.* to root@'test1.novalocal' with grant option;
ERROR 1133 (42000): Can't find any matching row in the user table

还有什么线索吗?

【问题讨论】:

标签: mysql docker centos


【解决方案1】:

172.17.0.1 是 docker0 ip,而不是你的容器 ip。

您可以通过docker inspect yourcontainerid获取您的容器ip

【讨论】:

  • 我不是要获取容器IP,而是需要容器来访问安装在主机上的mysql。
【解决方案2】:

试试:

grant all on *.* to 'root'@'test1.novalocal' identified by 'somepassword' with grant option;

MySQL最新版本自带NO_AUTO_CREATE_USER其中

防止 GRANT 语句自动创建新用户,如果 否则它会这样做,除非验证信息是 指定的。该语句必须指定一个非空密码,使用 IDENTIFIED BY 或使用 IDENTIFIED WITH 的身份验证插件。

如果需要使用空白密码,您可以disable此模式!

MySQL Workbench 甚至会发出警告

0 行受影响,1 个警告:1287 使用 GRANT 创建新的 用户已弃用,将在未来版本中删除。

在未来的版本中,您可能需要CREATE a user before GRANT

【讨论】:

    猜你喜欢
    • 2019-05-27
    • 2021-04-25
    • 2022-11-03
    • 2017-11-04
    • 2019-03-15
    • 2020-07-10
    • 2019-02-01
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多