• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 397, 文章 - 0, 評論 - 196, 引用 - 0
            數據加載中……

            MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')解決方法

            一、查詢mysql的show variables like “%timeout%”;interactive_timeout服務器關閉交互式連接前等待活動的秒數 參數默認值:28800秒(8小時)
            在配置文件my.cnf中只設置參數interactive_timeout=100或者設置一個比較大的值,則重啟服務器后進入或者set global interactive_timeout=28800;重啟mysql服務器
            注:
            從文檔上來看wait_timeout和interactive_timeout都是指不活躍的連接超時時間,連接線程啟動的時候wait_timeout會根據是交互模式還是非交互模式被設置為這兩個值中的一個。
            如果我們運行mysql -uroot -p命令登陸到mysql,wait_timeout就會被設置為interactive_timeout的值。如果我們在wait_timeout時間內沒有進行任何操作,那么再次操作的時候就會提示超時,這是mysql client會重新連接。
            interactive_timeout和wait_timeout在連接空閑階段(sleep)起作用,對于保持sleep狀態超過了wait_timeout(或interactive_timeout,取決于CLIENT_INTERACTIVE標志)的客戶端,MySQL會主動斷開連接。
            可以用set命令或在my.cnf文件中設置,設置后需要重啟數據庫
            二、conn = None
            def _conn():  # 連接帶異常處理
                try:
                    global conn
                    conn = MySQLdb.connect(host="localhost", user="root", passwd="123456", db="xhaccount", port=3306,
                                           charset="utf8")  # 連接對象
                    return True
                except Exception as e:
                    print("str(Exception):\t", str(e))
                    print("str(e):\t\t", str(e))
                    print("repr(e):\t", repr(e))
                    # Get information about the exception that is currently being handled
                    exc_type, exc_value, exc_traceback = sys.exc_info()
                    print('e.message:\t', exc_value)
                    print("Note, object e and exc of Class %s is %s the same." %
                          (type(exc_value), ('not', '')[exc_value is e]))
                    print('traceback.print_exc(): ', traceback.print_exc())
                    return False
            def _reConn():  # 重試連接
                try:
                    conn.ping()  # 校驗連接是否異常
                except Exception as e:
                    if _conn() is True:  # 重新連接,成功退出
                        return
                    print("str(Exception):\t", str(e))
                    print("str(e):\t\t", str(e))
                    print("repr(e):\t", repr(e))
                    # Get information about the exception that is currently being handled
                    exc_type, exc_value, exc_traceback = sys.exc_info()
                    print('e.message:\t', exc_value)
                    print("Note, object e and exc of Class %s is %s the same." %
                          (type(exc_value), ('not', '')[exc_value is e]))
                    print('traceback.print_exc(): ', traceback.print_exc())
                    print('重連失敗!!!!!!!')
            每次執行sql語句的時候,調用下_reConn()

            posted on 2020-12-30 09:44 Benjamin 閱讀(2435) 評論(0)  編輯 收藏 引用 所屬分類: python

            久久精品中文騷妇女内射| 久久精品国产精品亜洲毛片| 久久伊人精品青青草原日本| 国产一区二区精品久久岳 | 久久人妻少妇嫩草AV蜜桃| 亚洲午夜精品久久久久久浪潮 | 色综合久久久久久久久五月| 97久久国产亚洲精品超碰热 | 日韩精品久久久肉伦网站| 久久99国产亚洲高清观看首页| 中文字幕亚洲综合久久2| 伊人久久国产免费观看视频| 久久精品国产亚洲AV电影| 四虎国产精品免费久久| 久久久久久久久无码精品亚洲日韩| 久久精品国产99国产精品| 久久婷婷五月综合97色直播| 精品999久久久久久中文字幕| 欧美激情精品久久久久久久九九九| 久久久老熟女一区二区三区| 久久国内免费视频| 久久亚洲精品人成综合网| 亚洲一区中文字幕久久| 色综合久久久久无码专区| 成人综合久久精品色婷婷| 久久精品www| 97久久精品无码一区二区| 久久综合香蕉国产蜜臀AV| 国内精品伊人久久久久妇| 久久国产免费| 久久无码一区二区三区少妇| segui久久国产精品| 久久青青草原国产精品免费| 久久久久人妻一区精品性色av| 色播久久人人爽人人爽人人片AV| 久久久久亚洲AV无码去区首| 国产激情久久久久影院老熟女免费 | 亚洲色大成网站www久久九| 婷婷久久五月天| 国产精品99久久久久久宅男小说| 理论片午午伦夜理片久久|