执行sql语句的时候报错
Failure instance: Traceback:
跟踪调试发现调用MySQLdb的连接数据库函数报错,报错代码如下
super(Connection, self).__init__(*args, **kwargs2)
由于Twisted框架中并没有准确显示报错信息,所以我单独创建一个MySQLdb的项目
发现是连接数据库的时候报错,报错信息如下
_mysql_exceptions.OperationalError: 2059
查阅网上资料发现是因为mysql8.0.4之后使用了新的密码认证插件”caching_sha2_password”,而MySQLdb貌似还不支持所以才报错的。
解决方案:
将认证插件改回 “mysql_native_password”,命令行登陆mysql,执行如下语句
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';