有两个docker容器,一个是mysql,一个是java服务。两个都是host网络模式。
宿主机上可以连mysql,java服务也可以通过wget检测能连上mysql端口。
外部网络也能连上mysql。只有这个java服务无法连接mysql,java服务是用是127.0.0.1,但是当我把java服务的配置改成宿主机真实ip时,java服务又可以连上了mysql,好奇怪。
mysql里的账号已经设置过了,是%,即允许所有ip访问。
报错信息如下:
com.mysql.cj.exceptions.CJException: Public Key Retrieval is not allowed
解决办法:
127.0.0.1可以连,但需要增加url参数:
allowPublicKeyRetrieval=true