Python用 Mysqldb时报错:MySQLdb._exceptions.OperationalError 解决方法
HDUZN

在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 许可协议。转载请注明出处!
 评论