欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql出現(xiàn)ERROR問題:(2006,?‘MySQL?server?has?gone?away‘)

 更新時間:2024年09月06日 12:21:18   作者:測試狗熊  
這篇文章主要介紹了mysql出現(xiàn)ERROR問題:(2006,?‘MySQL?server?has?gone?away‘),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、問題分析

mysql出現(xiàn)

ERROR : (2006, 'MySQL server has gone away')

的問題意思就是指client和MySQL server之間的鏈接斷開了。

二、原因

造成這樣的原因,最常見的就是采集或者新舊數(shù)據(jù)轉(zhuǎn)化:

一般說sql操作的時間過長,或者是傳送的數(shù)據(jù)太大(例如使用insert ... values的語句過長, 這種情況可以通過修改max_allowed_packed的配置參數(shù)來避免,也可以在程序中將數(shù)據(jù)分批插入(使用mysql limit進行分頁,循環(huán)分批處理數(shù)據(jù)));

應(yīng)用程序(比如PHP)長時間的執(zhí)行批量的MYSQL語句。執(zhí)行一個SQL,但SQL語句過大或者語句中含有BLOB或者longblob字段。比如,圖片數(shù)據(jù)的處理。都容易引起MySQL server has gone away。

  • 一種可能是發(fā)送的SQL語句太長,以致超過了max_allowed_packet的大小,只要修改my.cnf,加大max_allowed_packet的值即可。
  • 一種可能是因為某些原因?qū)е鲁瑫r,比如說程序中獲取數(shù)據(jù)庫連接時采用了Singleton的做法,雖然多次連接數(shù)據(jù)庫,但其實使用的都是同一個連接,而且程序中某兩次操作數(shù)據(jù)庫的間隔時間超過了wait_timeout(SHOW STATUS能看到此設(shè)置),那么就可能出現(xiàn)問題。最簡單的處理方式就是把wait_timeout改大,當(dāng)然你也可以在程序里時不時順手mysql_ping()一下,這樣MySQL就知道它不是一個人在戰(zhàn)斗。

三、分析原因

原因一:MYSQL服務(wù)宕機了

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

show global status like 'uptime';

或者查看MySQL的報錯日志,看看有沒有重啟的信息—— 如果uptime數(shù)值很大,表明mysql服務(wù)運行了很久了。說明最近服務(wù)沒有重啟過。

如果日志沒有相關(guān)信息,也表名mysql服務(wù)最近沒有重啟過,可以繼續(xù)檢查下面幾項內(nèi)容。

原因二:MYSQL鏈接超時

即某個mysql長連接很久沒有新的請求發(fā)起,達到了server端的timeout,被server強行關(guān)閉。

此后再通過這個connection發(fā)起查詢的時候,就會報錯server has gone away (大部分PHP腳本就是屬于此類)

show global variables like '%timeout';

wait_timeout 是28800秒,即mysql鏈接在無操作28800秒后被自動關(guān)閉

原因三:MYSQL請求鏈接進程被主動KILL

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

show global status like 'com_kill';

原因四:your SQL statement was too large

當(dāng)查詢的結(jié)果集超過 max_allowed_packet 也會出現(xiàn)這樣的報錯。定位方法是打出相關(guān)報錯的語句。

用select * into outfile 的方式導(dǎo)出到文件,查看文件大小是否超過 max_allowed_packet ,如果超過則需要調(diào)整參數(shù),或者優(yōu)化語句。

show global variables like 'max_allowed_packet';

三、處理

修改參數(shù):

set global max_allowed_packet=1024*1024*16;

show global variables like 'max_allowed_packet';

這種情況可以通過修改max_allowed_packed的配置參數(shù)來避免,也可以在程序中將數(shù)據(jù)分批插入(使用mysql limit進行分頁,循環(huán)分批處理數(shù)據(jù))

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql中GROUP_CONCAT函數(shù)使用技巧及問題詳解

    mysql中GROUP_CONCAT函數(shù)使用技巧及問題詳解

    這篇文章主要給大家介紹了關(guān)于mysql中GROUP_CONCAT函數(shù)使用技巧及問題的相關(guān)資料,GROUP_CONCAT是MySQL中的一個聚合函數(shù),它用于將多行數(shù)據(jù)按照指定的順序連接成一個字符串并返回結(jié)果,需要的朋友可以參考下
    2023-11-11
  • MySQL獲取版本號的N種方法(全網(wǎng)最全以及避坑大全)

    MySQL獲取版本號的N種方法(全網(wǎng)最全以及避坑大全)

    相信大家在工作學(xué)習(xí)中經(jīng)常有需要查詢 MySQL 數(shù)據(jù)庫版本的情況,這里給大家介紹幾種在 MySQL 中查詢數(shù)據(jù)庫版本的方法以及每種方法適用的場景,相信總有一種可以幫到你,需要的朋友可以參考下
    2024-10-10
  • MySQL數(shù)據(jù)表分區(qū)策略及優(yōu)缺點分析

    MySQL數(shù)據(jù)表分區(qū)策略及優(yōu)缺點分析

    項目開發(fā)中,隨著數(shù)據(jù)庫數(shù)據(jù)量越來越大,單個表中數(shù)據(jù)太多,從而導(dǎo)致查詢速度變慢,而且由于表的鎖機制導(dǎo)致應(yīng)用操作也受到嚴重影響,出現(xiàn)了數(shù)據(jù)庫性能瓶頸。因此我們需要考慮分表與分區(qū),MySQL分表分區(qū)就是為了解決大數(shù)據(jù)量導(dǎo)致MySQL性能低下的問題。
    2021-05-05
  • mysql語法時采用了雙引號““的錯誤問題

    mysql語法時采用了雙引號““的錯誤問題

    錯誤原因:使用雙引號定義表名和列名導(dǎo)致MySQL報錯,應(yīng)使用反引號,修改方案:將雙引號改為反引號,避免語法沖突,總結(jié):在MySQL中,正確使用反引號引用標識符,確保SQL語句符合MySQL語法規(guī)則
    2024-10-10
  • CentOS 7.2下MySQL的安裝與相關(guān)配置

    CentOS 7.2下MySQL的安裝與相關(guān)配置

    最近因為工作需要,要在CentOS上安裝MySQL,在安裝的時候遇到了一點問題,花了點時間解決了,感覺不管是官網(wǎng)還是網(wǎng)上的一些教程都不夠完整,不能一次性幫新手解決問題,于是我就結(jié)合官網(wǎng)和網(wǎng)上的資源整理了下,現(xiàn)在分享給大家,希望對有需要的朋友們能有所幫助。
    2016-11-11
  • MySQL中的兩種登錄方式詳解

    MySQL中的兩種登錄方式詳解

    這篇文章主要介紹了MySQL中的兩種登錄方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • CentOS系統(tǒng)下如何設(shè)置mysql每天自動備份

    CentOS系統(tǒng)下如何設(shè)置mysql每天自動備份

    備份是容災(zāi)的基礎(chǔ),是指為防止系統(tǒng)出現(xiàn)操作失誤或系統(tǒng)故障導(dǎo)致數(shù)據(jù)丟失,而將全部或部分數(shù)據(jù)集合從應(yīng)用主機的硬盤或陣列復(fù)制到其它的存儲介質(zhì)的過程。本文將詳細介紹在CentOS系統(tǒng)下如何設(shè)置mysql每天自動備份,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • 利用frm和ibd文件恢復(fù)mysql表數(shù)據(jù)的詳細過程

    利用frm和ibd文件恢復(fù)mysql表數(shù)據(jù)的詳細過程

    總是遇到mysql服務(wù)意外斷開之后導(dǎo)致mysql服務(wù)無法正常運行的情況,使用Navicat工具查看能夠看到里面的庫和表,但是無法獲取數(shù)據(jù)記錄,提示數(shù)據(jù)表不存在,所以本文給大家介紹了利用frm和ibd文件恢復(fù)mysql表數(shù)據(jù)的詳細過程,需要的朋友可以參考下
    2024-04-04
  • Mysql查看版本號的幾種方式

    Mysql查看版本號的幾種方式

    這篇文章主要介紹了Mysql查看版本號的五種方式介紹,需要的朋友可以參考下
    2013-05-05
  • 如何安裝綠色版MySQL Community Server 5.7.16并實現(xiàn)遠程登錄

    如何安裝綠色版MySQL Community Server 5.7.16并實現(xiàn)遠程登錄

    這篇文章主要介紹了安裝綠色版MySQL Community Server 5.7.16并實現(xiàn)遠程登錄的方法,需要的的朋友參考下
    2017-07-07

最新評論