這時在cmd命令行輸入mysql -u root -p 回車輸入密碼,就可以成功連接數據庫但用pymysql登陸報錯,
腳本如下:
import pymysql conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='dong1990',db='fund_db') cur = conn.cursor() sql = "select * from vul" cur.execute(sql) for r in cur.fetchall(): print(r) cur.close() conn.close()
這時報錯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