初学Django-------------配置链接 Mysql 数据库报错:Django.db.utils.OperationalError: (1045, “Access denied for user ‘root’@‘localhost’ (using password: NO)”) 、 Django版本2.1 , Mysql 版本 8.0.;网上百度看了下可能 1.因为数据库的 用户名 和 密码 不正确导致的。2 .大小写也可能报这个错误。 本人setting.py中 数据库配置①mysql升级到8.0之后的新特性有一条是更新了密码的加密方式。如果要用原来的Django连接mysql8.0就得将mysql的加密方式转变为原来的方式。 也就是如果不改的话,就会出现这个报错:
ALTER USER ‘用户名’@‘127.0.0.1’ IDENTIFIED WITH mysql_native_password BY ‘密码’;
此语句更新用户加密方式为过去版本方式。
mysql -u root -p
use mysql;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’;
FLUSH PRIVILEGES;
修改密码后,重新执行
python manage.py makemigrations
python manage.py migrate
本人报错属于第2中原因,setting配置里 user password host port 都是小写,改成大写后重新运行程序OK