已经新建一个bridge,并且将nacos和mysql连接上bridge,使用docker exec -it nacos ping mysql
命令ping通了,但是nacos启动后仍然连接不上mysql
日志报错信息
com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed
这是一个 MySQL JDBC 连接的问题,通常是由于 MySQL 在使用 caching_sha2_password 认证方式时,没有启用公钥检索(Public Key Retrieval)。这种情况经常发生在 MySQL 8.0 或更高版本中,它要求你显式地启用公钥检索。
解决方案:
在数据库连接 URL 中,添加 allowPublicKeyRetrieval=true 和 useSSL=false 参数。这将允许 MySQL JDBC 驱动进行公钥检索,并关闭 SSL。
修改/mydata/nacos/conf/application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://mysql:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root
db.password.0=loophong