簡體   English   中英

無法連接到 Python 中的 MySql

[英]Can't connect to MySql in Python

我該如何調試?

mydb = pymysql.connect(
            host="<db-host-ip>",
            port=3306,
            user="<username>",
            password="<password>",
            database="<dbname>"
 )

失敗:

pymysql.err.OperationalError: (1045, "Access denied for user '<myuser>'@'<long_and_boring_hostname>' (using password: YES)")

而這:

mysql --host=<db-host-ip> --user=<username> --password=<password> <dbname>

連接得很好。

我還可以從 java 和 MySql 工作台連接到數據庫

我試過使用 mysql.connector,同樣的錯誤

我可以從 Python 連接到另一個數據庫就好了

為什么 Python 錯誤在我的用戶名后面有很長的主機名? 可以壓制嗎?

**更多細節**

MySql為遠程,poython等工具為本地

我可以很好地連接到其他數據庫,只有這個似乎有沖突。

我的主要問題是如何解決這個問題,我需要知道的不僅僅是“訪問被拒絕”

問題:(1)哪台計算機正在運行您的 Python 腳本? (2) 哪台計算機正在運行您的 MySQL 命令行? (3) 哪台電腦運行MySQL數據庫?

如果所有 3 個問題都沒有相同的答案,那么您可能在 MySQL 用戶管理中遇到了端口問題。 換句話說,您的 MySQL 服務器設置可能不允許遠程訪問……如果是這樣,有不同的故障排除方法,但可能需要 MySQL 的 DBA/專家。

另外,我使用了“sqlalchemy”Python 庫,它運行良好,特別是如果您通過 pandas.read_sql() 運行 connection_engine。 我從來沒有使用過pymysql。

暫無
暫無

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

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