在本機上連接到MySQL 時排除PyMySQL 連線錯誤
當嘗試使用PyMySQL 連線到本機資料庫上的MySQL 資料庫您可能會遇到錯誤訊息:
socket.error: [Errno 111] Connection refused pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (111)")
要解決此問題,請考慮以下故障排除步驟:
驗證MySQL 服務狀態
確保MySQL服務正在運作。您可以透過命令提示字元進行檢查:
mysqladmin -u root -p status
網路連線
確認可以從您的電腦存取資料庫主機(通常是 localhost)。執行以下指令:
ping localhost
檢查MySQL 套接字位置
執行下列指令以決定MySQL 套接字的路徑:
mysqladmin variables | grep socket
將PyMySQL 連接字串中的unix_socket 參數設定為檢索到的路徑。例如:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")</code>
驗證MySQL 連接埠
使用下列指令檢查MySQL 伺服器使用的連接埠:
mysqladmin variables | grep port
如果連接埠不是預設的3306,請在PyMySQL 連線字串中設定連接埠參數:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)</code>
其他故障排除提示
以上是為什麼使用 PyMySQL 連線到本機上的 MySQL 時會出現「連線被拒絕」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!