MySQL 5.7不能在CentOS7上允许docker IP访问

我已经在CentOS 7.1上安装了Mysql5.7和docker服务。 把mysql和命令mysql -u root连接起来就可以了。 但是当我尝试使用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了原因,并试图授予访问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 

任何其他线索?

尝试:

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

MySQL的最新版本带有NO_AUTO_CREATE_USER

防止GRANT语句自动创build新用户,除非authentication信息被指定。 该语句必须使用IDENTIFIED BY或使用IDENTIFIED WITH的身份validation插件指定非空密码。

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

MySQL Workbench甚至警告

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

在将来的版本中,您可能需要在GRANT之前创build一个用户 。

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

你可以通过docker inspect yourcontainerid你的容器ip来docker inspect yourcontainerid你的容器