我在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,但没有运气。
mysql> grant all on *.* to root@'test1.novalocal' with grant option;
ERROR 1133 (42000): Can't find any matching row in the user table还有其他线索吗?
发布于 2016-07-19 12:30:40
尝试:
grant all on *.* to 'root'@'test1.novalocal' identified by 'somepassword' with grant option;MySQL最新版本附带的用户
除非指定了身份验证信息,否则阻止GRANT语句自动创建新用户。语句必须指定使用标识的非空密码或使用标识的身份验证插件。
您可以禁用此模式,如果需要去与空白密码!
MySQL工作台甚至警告
0行受影响,1(S)警告:使用GRANT创建新用户的1287已被废弃,并将在以后的发行版中删除。
您可能需要在以后的版本中使用在授予之前创建一个用户。
发布于 2016-07-19 12:27:36
172.17.0.1是docker0 ip,而不是您的容器ip。
您可以通过docker inspect yourcontainerid获取容器ip。
https://stackoverflow.com/questions/38457901
复制相似问题