亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

處理常見異常MySQL?table?xxx?is?full?不常見原因一例

IT那活兒 / 4294人閱讀
處理常見異常MySQL?table?xxx?is?full?不常見原因一例
 背 景

在某日常愛崗敬業(yè)過程中,忽然收到某業(yè)務(wù)不可用,數(shù)據(jù)無法插入修改的消息,迅速打開錯誤日志發(fā)現(xiàn)大量業(yè)務(wù)表報table XXX is full的錯誤:

看到此報錯心里有數(shù),mysql出現(xiàn)"the table is full"的問題,一般有兩個常見原因:

  • 一個是使用MEMORY 存儲引擎時臨時表大小設(shè)置太小導(dǎo)致,一般調(diào)整MySQL的配置文件兩個參數(shù)重啟即可:
    tmp_table_size
    max_heap_table_size

    但是看報錯日志中顯然很多業(yè)務(wù)表都不是memory存儲引擎而是innodb存儲引擎的,故排除此原因。

  • 另一種原因便是硬盤空間滿了,清理硬盤即可。但是檢查數(shù)據(jù)目錄空間發(fā)現(xiàn)還有大量磁盤空間可用:


 處 理

兩個常見原因皆排除后,感受到時間緊迫,迅速查閱官方文檔檢索是否有其他原因可能性:

可以看出除了 ①磁盤空間滿;②超過文件系統(tǒng)限制;③超過innodb單表表空間限制之外,其余全是關(guān)于MyISAM存儲引擎和memory存儲引擎引起的原因。顯然這些都不符合我們現(xiàn)場的情況。

氣氛變得緊張起來,懷疑有更深的原因和bug,迅速上MOS查詢相關(guān)問題,終于發(fā)現(xiàn)類似問題的doc:

文檔提示當(dāng)磁盤空間還有較大盈余的時候,可能是ibdata1系統(tǒng)表空間文件無法繼續(xù)擴展導(dǎo)致,此時無論是因為設(shè)置原因還是文件系統(tǒng)限制原因都會在SQL層拋出the table XXX is full的異常,遂馬上檢查ibdata1文件:

發(fā)現(xiàn)系統(tǒng)表空間文件ibdata2 已經(jīng)5G  ,達到最大限制了,迅速另行添加一個新的共享表空間文件,使數(shù)據(jù)庫恢復(fù)正常。


 總 結(jié)

Ibdata1系統(tǒng)表空間在設(shè)置了innodb_file_per_table(建議設(shè)置)的情況下會儲存innodb表的元數(shù)據(jù)、change buffer、doublewrite buffer和undo log,如果多帶帶設(shè)置undo表空間的話,存儲內(nèi)容會更少,出現(xiàn)問題的頻率也很低,所以平時運維極易忽略ibdata1,在巡檢時也應(yīng)添加上對該表空間的檢查,自動擴展的值也應(yīng)依據(jù)業(yè)務(wù)進行合理設(shè)置。

參考文檔:

  • https://dev.mysql.com/doc/refman/5.7/en/full-table.html
  • https://dev.mysql.com/doc/refman/5.7/en/table-size-limit.html
  • mysqld is showing a "table foo is full" error but there is plenty of available disk space (Doc ID 1458445.1)
  • Table is Full Error for InnoDB Tables (Doc ID 1356573.1)
  • https://dev.mysql.com/doc/refman/5.7/en/innodb-system-tablespace.html


END


更多精彩干貨分享

點擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129893.html

相關(guān)文章

  • MySQL常見錯誤分析與解決方法總結(jié)

    摘要:常見錯誤分析與解決方法總結(jié)一翻譯不能連接到上的分析這說明計算機是存在的,但在這臺機器上卻沒提供服務(wù)。解決同樣對癥下藥,不同的原因不同的處理方法。九翻譯有一個語法錯誤在你的中分析論壇標(biāo)準(zhǔn)的程序是沒有語法錯誤的。表名,可以暫時解決問題。MySQL常見錯誤分析與解決方法總結(jié) 一、Cant connect to MySQL server on localhost (10061)翻譯:不能連接到 ...

    番茄西紅柿 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<