簡體   English   中英

sqlalchemy.exc.OperationalError:(pymysql.err.OperationalError)(1045,“用戶'root'@'localhost'的訪問被拒絕(使用密碼:是)”)

[英]sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

我在 python3 中使用 SQLalchemy 連接到本地 MySQL。但是,我得到這樣的錯誤:sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password : 是的)”)

密碼和MySQL workbench中的一樣,都是“root”,不知道為什么會報這個錯。

我的代碼:

engine = create_engine("mysql+pymysql://root:root@localhost/db?host=localhost?port=3308", echo=True)


with engine.connect() as conn, conn.begin():
    book_df.to_sql(name='test', con=conn, if_exists='append', index=False)

已經在頂部回答了,但是如果你想連接到 RDS 並且你的密碼中有特殊字符,比如“@”,一定要使用urllib.parse.quote否則你會遇到同樣的錯誤。

import urllib

user = "user"
password = urllib.parse.quote("p@ssword")
endpoint = "rds_endpoint"
port = "port"
db = "db_name"
engine = create_engine(f"mysql+pymysql://{user}:{password}@{endpoint}:{port}/{db}", echo=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM