Python操作數據庫出現的問題


問題一

我在使用Python操作mysql時出現:pymysql.err.OperationalError: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '你的主機中的軟件中止了一個已建立的連接。', None, 10053, None))")

問題的出現:我是使用了sqlalchemypymysql驅動操作數據庫的。過一段時間沒有數據庫的操作時,然后又操作了數據庫的添加時就出來了上面的問題。

錯誤原因:是因為我的數據庫默認2分鍾不從數據庫取數據則斷開連接,如下圖中的interactive_timeout,其值為120秒,也就是2分鍾

如下圖所示:
image

檢查問題

show global variables like '%timeout%';

解決問題

  • 可以將interactive_timeout設置大一些。如:
mysql> set global interactive_timeout=86400;

image

再通過show global variables like '%timeout%';查看如下圖所示:
image

問題二

我在使用Python操作Mysql數據庫時出現問題:(pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([WinError 10053] 你的主機中的軟件中止了一個已建立的連接。)')

錯誤原因:是因為MySQL持久化鏈接保持時間wait_timeout。我的數據庫的持久化鏈接保持時間是2分鍾。如下圖所示:
image

解決問題

  • wait_timeout持久化鏈接保持時間長一些。如下:
mysql> set global wait_timeout=7200;

72002小時


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM