[问题记录]配置zipkin数据存储到mysql时报错Access denied for user 'root'@'172.17.0.1' (using password: NO)

通过Docker部署zipkin环境,并把数据存储配置成mysql(也是Docker拉取的镜像)。

问题描述:先在mysql中创建zipkin库,再修改环境变量,重启zipkin后报错“Access denied for user 'root'@'172.17.0.1' (using password: NO)”。但mysql用Navicat能够连接上。


问题原因:对于熟悉mysql的人,这个错误应该很容易定位。从MySQL8.0 开始,默认的验证方式是 caching_sha2_password(参见 MySQL 8.0.4 : New Default Authentication Plugin : caching_sha2_password)

解决办法:将验证方式修改为“mysql_native_password”

USE mysql; 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '<password>';

FLUSH PRIVILEGES;

修改后再查询 select user,host,plugin from user; 结果如下

user host plugin
root    %   mysql_native_password
healthchecker    localhost    caching_sha2_password
mysql.infoschema    localhost    caching_sha2_password
mysql.session    localhost    caching_sha2_password
mysql.sys    localhost    caching_sha2_password

备注:貌似这些参数在启动mysql容器的时候是可以修改的。

原文地址:https://www.cnblogs.com/fj365/p/13295444.html