Python3 使用 pymysql 连接 MySQL 8.0 报错解决

一、问题

使用 pymysql 连接 MySQL 8.0 时,报错如下:

RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods

二、原因

MySQL 8.0 改变了密码加密方式。

MySQL 8.0 之前版本的密码加密方式为:

mysql_native_password

为了提供更安全的密码加密方式,从 MySQL 8.0 版本开始,默认使用密码加密方式为:

caching_sha2_password

三、解决

pip install cryptography

END.

另外,使用低版本 Navicat Premium 连接 MySQL 8.0 也会存在相同问题。卸载低版本,安装 Navicat Premium 高版本即可。目前最新版本为 Navicat Premium 15,正版可免费试用 14 天。破解教程和工具可参考:Navicat Premium 15 永久破解安装教程

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容