我在兩個MySQL數據庫中使用SQLAlchemy。其中之一是我的開發數據庫在我的機器上本地託管,另一個是ClearDB在Heroku上爲生產提供的MySQL服務器。診斷2013與MySQL失去聯繫
我有一個很長的運行會話與數據庫打開,同時它執行與另一個服務的同步操作。在我的本地機器上,這表現良好,但在生產中,我收到了錯誤(2013,'在查詢過程中丟失了與MySQL服務器的連接')。
我讀過其他職位,說它可以是請求的大小太大或池刷新變量需要調整。我不相信交易有效負載相對那麼大,並且在調用SQLAlachemy create_engine
時似乎沒有工作,因此設置pool_recycle
變量。
有沒有其他人經歷過這個問題,或者能夠幫助我縮小這個錯誤的根本原因 - 它看起來像是一個全部,我不知道該從哪裏去。
正如意見中的要求,無論是系統select @@interactive_timeout, @@wait_timeout
返回相同的值:28800,28800
感謝
請在您的開發數據庫和生產數據庫上發出這個SQL查詢。 'select @@ interactive_timeout,@@ wait_timeout'。請[編輯]你的問題,告訴我們你的兩個數據庫有什麼價值。有時生產數據庫比開發數據庫的超時時間更短。 –
當我開始發佈這個內容時,我的意思是包含這些數字......但忘記了。我已經更新了我的問題。謝謝@ O.Jones – freebie
您是否在交互式客戶端會話中選擇了變量?如果是這樣,你需要做'SELECT @@ global.interactive_timeout,@@ global.wait_timeout'。在交互式會話中,會話級別的「wait_timeout」被調整爲「交互式超時」,因此無用。 – elenst