啟用 MySQL 用戶端與 MySQLdb 自動重新連線
在 MySQLdb 中,預設不會啟用持久連線。這意味著如果與 MySQL 資料庫的連線遺失,客戶端將需要手動重新建立連線。
PHP 方法
在 PHP 中,MySQLdb提供mysql_options()函數來啟用自動重新連線。透過將 MYSQL_OPT_RECONNECT 選項設為 true,客戶端將在連線遺失時嘗試自動重新建立連線。
MySQLdb 方法
在 Python 中,MySQLdb 會這樣做沒有 mysql_options() 的直接等效項。但是,可以使用包裝cursor.execute() 方法的自訂函數來實作自動重新連線。最初的問題表明 conn.cursor() 方法在連接丟失時拋出異常。
解決方案
提供的解決方案透過建立包裝器來解決此問題函數稱為 query()。函式嘗試使用cursor.execute()方法執行SQL查詢。如果因連線遺失而發生錯誤,query() 函數會重新建立連線並重試執行。
實作
提供的 Python 程式碼顯示如何實作query() 函數並使用它來建立和維護與 MySQL 資料庫的持久連接。即使在很長的逾時之後,連線仍然處於活動狀態,並允許執行進一步的查詢。
結論
透過利用query() 包裝函數,它變得可能在MySQLdb 中啟用自動重新連接,確保客戶端可以自動從遺失的連接中恢復。
以上是MySQLdb如何實現長連線自動重連?的詳細內容。更多資訊請關注PHP中文網其他相關文章!