• <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一区二区三区久久| 国产99久久久国产精免费| 久久人人爽人人爽人人片AV麻烦| 国产成人精品综合久久久| 久久精品中文字幕无码绿巨人| 久久永久免费人妻精品下载| 99久久国语露脸精品国产| 久久久精品国产Sm最大网站| 99久久99久久精品国产| 热99re久久国超精品首页| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 伊人久久大香线蕉av不变影院| 亚洲国产美女精品久久久久∴ | 久久亚洲视频| 久久久久久久久久久久中文字幕 | 久久精品成人一区二区三区| 精品久久久久久中文字幕大豆网 | 少妇无套内谢久久久久| 国产精品久久久久9999| 99精品国产免费久久久久久下载| 99国产精品久久| 久久久免费精品re6| 超级97碰碰碰碰久久久久最新| 亚洲精品高清久久| 久久精品蜜芽亚洲国产AV| 精品一二三区久久aaa片| 亚洲成av人片不卡无码久久| 欧美精品一本久久男人的天堂 | 99久久成人18免费网站| 久久精品国产亚洲AV香蕉| 少妇精品久久久一区二区三区| 香蕉久久夜色精品国产尤物| 看全色黄大色大片免费久久久| 国产呻吟久久久久久久92| 久久青青草原精品影院| 国产亚洲欧美精品久久久| 日本强好片久久久久久AAA | 久久久久AV综合网成人| 日韩人妻无码精品久久免费一 | 99精品国产综合久久久久五月天| 日韩亚洲国产综合久久久|