1.问题:
使用Django2.0连接数据库的时候报错
RuntimeError: cryptography is required for sha256_password or caching_sha2_password
2.本地环境:
windows10+mysql8.0.21+django2.0.1
2.问题分析:
使用数据库连接工具连接时报错:mysql:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES)
3.解决方案:
1.以管理员身份打开cmd 输入 net stop mysql
2.接着输入 mysqld --console --skip-grant-tables --shared-memory
3.在重新打开一个cmd 依次输入 mysql -u root -p 提示输入password再按Enter
注意:如果没有设置环境变量则会显示mysql命令无效
show databases
use mysql
update user set authentication_string = '' where user='root';
9.以管理员身份新打开cmd 输入 net start mysql
10.新cmd中mysql -uroot -p , 按Enter, 出现“Enter password:” , 再按Enter
11.ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’; 修改密码,注意结尾分号
12使用新的密码连接数据库即可