pymysql pymysql.err.OperationalError 1045 Access denied最簡單解決辦法



我使用的是python3.6+pymysql+mysql8.0

在cmd命令行直接輸入mysql回車出現:ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N

O)

這時在cmd命令行輸入mysql -u root -p 回車輸入密碼,就可以成功連接數據庫

但用pymysql登陸報錯,腳本如下:

def connectdb():
print('連接到mysql服務器...')
db = pymysql.connect(
host="localhost",
user="root",
passwd="dong1990",
port=3306,
db="fund_db",
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
print('連接上了!')
return db
這時報錯pymysql.err.OperationalError: (1045, u"Access denied for user 'root'@'localhost' (using password: No)")

網上給了各種各樣的方法,大多是通過各種方式修改密碼。

最簡單的方法是更換了root密碼的認證方式解決的,新版mysql使用的caching_sha2_password,換成mysql_native_password我就可以連上了。

步驟是在cmd命令行連接mysql, 通過mysql -u root -p dong1990

然后輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'dong1990';

DONE!

這時再跑下python腳本就可以連接了。
原文鏈接:https://blog.csdn.net/dongweionly/article/details/80273095


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM