微信扫一扫 分享朋友圈

已有 3625 人浏览分享

[服務器教學] Mysql連接超時

  [複製鏈接]

集團新軍

Rank: 1

30

威望

148

金錢

0

A幣
主題
5
帖子
12
精華
0
綜合社群主題發文量
3
電玩社群主題發文量
0
娛樂社群主題發文量
0
技術社群主題發文量
0
閱讀權限
10
註冊時間
2018-8-21
  • TA的每日心情

    2021-8-12 00:36
  • 簽到天數: 28 天

    連續簽到: 1 天

    [LV.4]偶爾看看III

    yasc5223 發表於  2018-8-24 11:06:35 | 顯示全部樓層 | 閱讀模式
    大家好,我是新人,今天來分享架服一開始沒人玩的話,大概會遇到一個問題如以下的錯誤代碼
    1. [Saving] Error saving character data: com.mysql.jdbc.exceptions.jdbc4.Communicat
    2. ionsException: The last packet successfully received from the server was61144 se
    3. conds ago.The last packet sent successfully to the [color=Red]server was 61144 seconds ago[/color],
    4. which  is longer than the server configured value of 'wait_timeout'. You should
    5. consider either expiring and/or testing connection validity before use in your
    6. application, increasing the server configured values for client timeouts, or usi
    7. ng the Connector/J connection property 'autoReconnect=true' to avoid this proble
    8. m.
    9. [Saving] Error rolling back: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientCo
    10. nnectionException: Can't call rollback when autocommit=true
    11. [Saving] Error going back to autocommit mode: com.mysql.jdbc.exceptions.jdbc4.Co
    12. mmunicationsException: The last packet successfully received from the [color=Red]server was
    13. 61144 seconds[/color] ago.The last packet sent successfully to the server was 61144 seco
    14. nds ago, which  is longer than the server configured value of 'wait_timeout'. Yo
    15. u should consider either expiring and/or testing connection validity before use
    16. in your application, increasing the server configured values for client timeouts
    17. , or using the Connector/J connection property 'autoReconnect=true' to avoid thi
    18. s problem.
    複製代碼
    目前測試是太久沒有登入遊戲,遊戲也沒人在玩的時候,會遇到這個問題,以下提供有效的暫時解決方法

    點一下WAMP->MySQL->MySQL控制台
    先輸入你的MySQL密碼(沒有設置密碼直接按Enter進入即可)
    輸入 show variables like '%timeout%';
    會看到有兩個數值為28800的參數,分別是 interactive_timeout和wait_timeout
    28800是秒數,大家可以換算一下28800/60/60=8小時
    意味著8小時若是沒有人對資料庫進行操作就會自動關閉,一般可重啟伺服器就可以解決了
    但不想重啟伺服器的人可以使用以下方法
    MySQL控制台輸入密碼後再輸入下面指令
    set wait_timeout=2147483;
    set interactive_timeout=2147483;
    在這之後你再輸入 show variables like '%timeout%';檢查一下
    就會發現你的 interactive_timeout和wait_timeout 這兩個值被改為2147483(大約是24天,目前測試為最大值)
    這樣你的伺服器就可以24天不用重開囉^^

    若有任何問題歡迎留言指教
    共收到 0 A幣
    打賞榜
    暫無
    暫無
    暫無
    暫無
    ----
    暫無
    ----
    暫無
    ----
    暫無
    ----

    站長

    Rank: 12Rank: 12Rank: 12

    1965

    威望

    3463

    金錢

    11

    A幣
    主題
    1324
    帖子
    2477
    精華
    3
    綜合社群主題發文量
    267
    電玩社群主題發文量
    1
    娛樂社群主題發文量
    4
    技術社群主題發文量
    31
    閱讀權限
    200
    註冊時間
    2013-1-28

    我是傳奇贊助感謝勳章精華作者勳章

  • TA的每日心情

    2024-11-9 23:41
  • 簽到天數: 397 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    TWAICL 發表於 2018-8-25 15:32:12 | 顯示全部樓層
    我找這類解答找好久....我一直不熟悉資料庫,這篇真的很受用,大感謝!!!
    您需要登錄後才可以回帖 登錄 | 註冊會員

    本版積分規則

    12

    發文

    148

    金錢

    0

    A幣

    ----------榮譽勳章----------

    熱門推薦
    圖文推薦
    • 聯繫我們

    小黑屋|AICL社群娛樂集團

    GMT+8, 2024-11-24 22:16 , 網路刷新 0.088892 秒 .

    歡迎來到 AICL網路社群

    版權AICL社群所有 2011-2021.

    Total:123 Today:213 Online:322