pymysql连接数据库报错AttributeError: module 'pymysql._auth' has no attribute 'scramble_old_password'

使用pymsql连接mysql数据库时报错如下:
E:\Python\Python39\python.exe E:/loujie/test1.py
Traceback (most recent call last):
File "E:\loujie\test1.py", line 3, in
lj = pymysql.connect(
File "E:\Python\Python39\lib\site-packages\pymysql\connections.py", line 353, in init
self.connect()
File "E:\Python\Python39\lib\site-packages\pymysql\connections.py", line 633, in connect
self._request_authentication()
File "E:\Python\Python39\lib\site-packages\pymysql\connections.py", line 924, in _request_authentication
data = _auth.scramble_old_password(self.password, self.salt) + b"\0"
AttributeError: module 'pymysql._auth' has no attribute 'scramble_old_password'

代码如下

import pymysql

conn = pymysql.connect(
    host="192.168.100.150",
    port=3306,
    user="user",
    password="password",
    database="asteriskcdr_storage",
    charset='utf8')

数据库密码是password吗?你用数据库可视化工具连接看看能不能连接上

module 'pymysql._auth' has no attribute 'scramble_old_password'
_auth没有字段scramble_old_password

授权文件里面的新旧密码打乱了

大家可以参考一下这篇文章:https://blog.csdn.net/qq_38866586/article/details/121545480