1 问题描述
docker
启动mysql
容器后,创建一个localhost
访问的用户:
create user test@localhost identified by 'test';
但是在宿中无法通过该用户登录:
mycli -u test
2 原因
在docker
中的mysql
创建localhost
的用户只能在docker
内部访问,而不能通过外部访问。
至于为什么能在宿主机访问root
,是因为默认存在两个root
,分别是:
-
root@localhost
-
root@%
而test
只有一个localhost
:
3 kb88凯时官网登录的解决方案
创建test@%
或者创建test@172.17.0.1
即可:
create user test@% identified by 'test'; create user test@172.17.0.1 identified by 'test';
以上就是docker mysql无法被宿主机访问如何解决的详细内容。