問題一
我在使用
Python操作mysql時出現:pymysql.err.OperationalError: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '你的主機中的軟件中止了一個已建立的連接。', None, 10053, None))")。
問題的出現:我是使用了sqlalchemy和pymysql驅動操作數據庫的。過一段時間沒有數據庫的操作時,然后又操作了數據庫的添加時就出來了上面的問題。
錯誤原因:是因為我的數據庫默認2分鍾不從數據庫取數據則斷開連接,如下圖中的interactive_timeout,其值為120秒,也就是2分鍾。
如下圖所示:

檢查問題
show global variables like '%timeout%';
解決問題
- 可以將
interactive_timeout設置大一些。如:
mysql> set global interactive_timeout=86400;

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

問題二
我在使用
Python操作Mysql數據庫時出現問題:(pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([WinError 10053] 你的主機中的軟件中止了一個已建立的連接。)')。
錯誤原因:是因為MySQL持久化鏈接保持時間wait_timeout。我的數據庫的持久化鏈接保持時間是2分鍾。如下圖所示:

解決問題
- 把
wait_timeout持久化鏈接保持時間長一些。如下:
mysql> set global wait_timeout=7200;
7200是2小時。
