最近学习django框架,使用的软件为:
Python 3.6;
Django2.1.3;
MySQL8.0
驱动的MySQLclient;
按照网站上的操作步骤配置好django的settings后访问本地的mysql,一直会报错了,说是连接不上,报错的代码为:
............
_mysql_exceptions.OperationalError: (2059, <NULL>);
后来用手动连接MySQL,发现也会报出同样的错误,说明没有连接上,后来查找相关的文章才发现,MySQL8.0密码加密采用的是caching_sha2_password的方式,需要改成mysql_native_password的方式,才能够连接。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
这样就没有了问题。