django 连接mysql报错
原因:
问题1. 即从mysql5.7版本之后,默认采用了caching_sha2_password验证方式。
问题2. 然后在执行 python manage.py makemigrations依然报错,如下图2/3
raise errorclass(errno, errval)
django.db.utils.OperationalError: (1045, u"Access denied for user 'root'@'localhost' (using password: YES)")
原因说明及解决方案:
a 在控制台,开启mysql,并进入连接的数据库执行如下语句,表示采用原来的身份验证机制。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
b
django setting.py文件中设置的database用户名或者密码错了,修改一下就可以了