国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL server has gone away 問題的解決方法

2024-07-24 12:43:44
字體:
來源:轉載
供稿:網友

mysql出現ERROR : (2006, 'MySQL server has gone away') 的問題意思就是指client和MySQL server之間的鏈接斷開了。

造成這樣的原因一般是sql操作的時間過長,或者是傳送的數據太大(例如使用insert ... values的語句過長, 這種情況可以通過修改max_allowed_packed的配置參數來避免,也可以在程序中將數據分批插入)。

產生這個問題的原因有很多,總結下網上的分析:

原因一. MySQL 服務宕了

判斷是否屬于這個原因的方法很簡單,進入mysql控制臺,查看mysql的運行時長

mysql> show global status like 'uptime';
+---------------+---------+
| Variable_name | Value   |
+---------------+---------+
| Uptime        | 3414707 |
+---------------+---------+

1 row in set或者查看MySQL的報錯日志,看看有沒有重啟的信息

如果uptime數值很大,表明mysql服務運行了很久了。說明最近服務沒有重啟過。
如果日志沒有相關信息,也表名mysql服務最近沒有重啟過,可以繼續檢查下面幾項內容。

原因二. mysql連接超時

即某個mysql長連接很久沒有新的請求發起,達到了server端的timeout,被server強行關閉。
此后再通過這個connection發起查詢的時候,就會報錯server has gone away
(大部分PHP腳本就是屬于此類)

mysql> show global variables like '%timeout';
+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| connect_timeout            | 10       |
| delayed_insert_timeout     | 300      |
| innodb_lock_wait_timeout   | 50       |
| innodb_rollback_on_timeout | OFF      |
| interactive_timeout        | 28800    |
| lock_wait_timeout          | 31536000 |
| net_read_timeout           | 30       |
| net_write_timeout          | 60       |
| slave_net_timeout          | 3600     |
| wait_timeout               | 28800    |
+----------------------------+----------+
10 rows in set

wait_timeout 是28800秒,即mysql鏈接在無操作28800秒后被自動關閉

原因三. mysql請求鏈接進程被主動kill

這種情況和原因二相似,只是一個是人為一個是MYSQL自己的動作

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉善右旗| 江陵县| 涡阳县| 铜陵市| 东方市| 武胜县| 石门县| 西贡区| 汉阴县| 嵊泗县| 沈丘县| 那曲县| 湖北省| 华宁县| 丰宁| 仁布县| 武鸣县| 攀枝花市| 邛崃市| 进贤县| 库尔勒市| 吴江市| 昭觉县| 长宁县| 灵丘县| 彭泽县| 永定县| 大荔县| 林芝县| 加查县| 伊宁县| 楚雄市| 利川市| 高安市| 绍兴县| 澄江县| 丰县| 龙州县| 滦南县| 苍南县| 宁都县|