pymysql连接mysql
一、 报错:RuntimeError: cryptography is required for sha256_password or caching_sha2_password
报错原因:MySQL8.0版本以后采用caching_sha2_password作为默认的身份验证插件。
解决方法有如下两种,由于开发环境在内网封闭环境,所以我选择了方案二解决问题
-
安装cryptography第三方包
-
修改用户的身份验证方式
登录mysql数据库
mysql -uroot -p123456
查询用户身份验证方式
SELECT host,user,plugin FROM mysql.user;
修改本机登录身份验证方式
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
修改远程登录身份验证方式
alter user 'root'@'%' identified with mysql_native_password by '123456';
刷新权限
flush privileges;