Python用 Mysqldb时报错:MySQLdb._exceptions.OperationalError 解决方法
在Python里,用Mysqldb的时候,报错:MySQLdb._exceptions.OperationalError: (2059, <NULL>)
网上查了下 ,说这是将数据迁移至mysql8.0时遇到的问题。
因为mysql8.0密码加密的问题,mysql8.0对用户密码的加密方式为 caching_sha2_password
,然后看了MySQL Workbench的加密方式果然都是这个。
我在Python里用的时候,可能还不支持这种新增的加密方式,所以要改一下用的root账号的加密方式。
解决方法:
1.在mysql中执行以下命令修改加密方式:
1 | > alter user 'root'@'localhost' identified with mysql_native_password by 'yourpassword' |
yourpassword:你自己mysql root账号的密码
2.再运行以下命令让其生效:
1 | > flush privileges |
然后就行了。
- 本文标题:Python用 Mysqldb时报错:MySQLdb._exceptions.OperationalError 解决方法
- 本文作者:HDUZN
- 创建时间:2022-06-04 21:34:31
- 本文链接:http://hduzn.cn/2022/06/04/Python用Mysqldb时报错OperationalError/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论