一、問(wèn)題
使用 pymysql 連接 MySQL 8.0 時(shí),報(bào)錯(cuò)如下:
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 版本開(kāi)始,默認(rèn)使用密碼加密方式為:
caching_sha2_password
三、解決
pip install cryptography
END.
另外,使用低版本
Navicat Premium連接MySQL 8.0也會(huì)存在相同問(wèn)題。卸載低版本,安裝Navicat Premium高版本即可。目前最新版本為Navicat Premium 15,正版可免費(fèi)試用 14 天。破解教程和工具可參考:Navicat Premium 15 永久破解安裝教程