背景
Mysql版本:8.0.13
Navicat版本:Navicat Premium Version 12
问题
在MySQL中创建好用户,数据库,并将数据库的权限授权给用户之后
1 | mysql> create user 'flask'@'%' identified by 'xxxx'; |
然后通过Navicat使用连接数据库,出现了下面的报错:
结论
这个问题百度一下有很多帖子,是由于新版的MySQL8更新了认证方式,而其他的数据库软件没有跟上。大部分忒子会推荐我们重新配置MySQL,不启用新的认证方式,甚至有些建议删了重装。
个人还是推荐下面这种方式:
1 | ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; |
不重新配置MySQL,暂时先指定使用旧版本的认证方式来设置密码。待后续软件更新了自然就可以使用新版本功能了。
https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded