一、发生问题
我们用docker安装mysql发现远程连接不上,8.0+版本不再使用默认的mysql_native_password插件
- 远程连接不上
- 一套操作进入docker容器内部,发现mysql_native_password is not loaded
- show plugins 发现没得mysql_native_password
- install plugin mysql_native_password 发现不管用
- 直接update user 报错 Duplicate entry '%-root' for key 'user.PRIMARY'
这都不是问题,一分钟解决问题
二、解决办法
1.DBManager驱动属性设置,设置完立马可以连接了
2.yml文件里面设置参数,代码也可以连接了
allowPublicKeyRetrieval=true
三、反思
人家mysql官方都不想用mysql_native_password插件了,觉得不安全,你咋还死皮赖脸的非要用这个呢,别总用老套路,用发展的眼光来看