django.db.utils.OperationalError:(1045:用户'root'@'localhost'访问被拒绝(使用密码:NO)

Ree*_*Xia 3 python mysql django

django.db.utils.OperationalError: (1045:Access denied for user 'root'@'localhost' (using password: NO)在mac中安装Mysql 8.0并更改默认root密码后,当我运行连接MySql和初始化数据库表时出现错误python3 manage.py migrate,而我可以在控制台中使用root/新密码登录mysql而没有任何错误。

  • MySql版本:8.0<--这个问题的关键其实
  • 操作系统:macOS 10.13.4
  • 蟒蛇:3.6
  • 姜戈:1.10.3

而且是使用pymysql来配合Mysql,我查了很多google,也在stackorverflow中找到了解决方案,最后在CSDN的技术博客中找到了解决方案

只是想在stackoverflow上分享一下,如果你也遇到了这个问题,你可能想尝试下面答案中的方法。

Ree*_*Xia 6

在mysql控制台运行以下命令,将Mysql中的密码加密方式更改为旧版本(Mysql 8.0中更改为使用cha2)

\n\n
mysql -u root -p\nuse mysql\xef\xbc\x9b\nALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';  \nFLUSH PRIVILEGES;\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后你就可以自由奔跑了python manage.py migrate

\n