• <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

            久久婷婷五月综合成人D啪| 精品午夜久久福利大片| 久久精品国产精品亚洲毛片| 波多野结衣久久一区二区| 久久笫一福利免费导航| 国产精品99久久久精品无码| 久久精品国产亚洲AV大全| 国产精品一区二区久久| 丰满少妇人妻久久久久久4| 久久国产精品偷99| 日产精品久久久久久久| 国产精品女同一区二区久久| 久久久亚洲精品蜜桃臀| 国内精品久久久久影院优| 亚洲精品高清一二区久久| 国产成人AV综合久久| 亚洲国产精品成人AV无码久久综合影院| 无码任你躁久久久久久| 久久精品国产一区二区三区不卡| 久久免费视频1| 久久99精品久久久久久9蜜桃| 人妻无码久久一区二区三区免费 | 久久久久久久97| 久久国产精品成人免费| 久久久久99这里有精品10| 91久久精品国产成人久久| 久久久久综合网久久| 国产一区二区精品久久| 久久人人爽人人爽人人片AV麻烦 | 色婷婷综合久久久久中文字幕| 无码精品久久久久久人妻中字| 四虎影视久久久免费观看| 国产午夜精品理论片久久影视 | 伊人久久综合精品无码AV专区| 日日狠狠久久偷偷色综合0 | 成人久久免费网站| 2020国产成人久久精品| 国产成人久久777777| 国产ww久久久久久久久久| 国产精品内射久久久久欢欢 | 久久午夜无码鲁丝片秋霞|