在pycharm中使用MySQL 8.0数据库,连接时发生这个错误,同时有没有任何提示。
在stackflow中有人提到将MySQL 8.0版本卸载干净,安装回老版本5.***问题就解决了。
为此,后面在重新安装MySQL 8.0,发现8.0installer在安装时选择加密方式时,可提供的是两种加密方式。
并且在新加密方式下面有一个黄色的感叹号,注明了各种问题。推测应该是因版本8.0新的加密方式导致的问题。后查证,navicat暂时还是不支持此方式。
解决方法:⑴将MySQL卸载干净,沿用旧版本
⑵在安装MySQL8.0时,将加密方式改为第二种方式(老方式)即可
备注:如果要用navicat连接MySQL连接,不建议使用最新的加密方式处理。起码要等到navicat更新了。
在网上找到了解决方案(亲测有用),
这是因为mysql8.0密码加密的问题,mysql8.0对用户密码的加密方式为caching_sha2_password,
django暂时还不支持这种新增的加密方式
所以修改机密方式:
执行命令修改(在mysql中):
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘yourpassword’
还没完更改了解密方式但是要让其生效就要使用:
flush privileges
然后重启Django…