日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

MySQL案例-open too many files,MyISAM与partition

發布時間:2023/12/19 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL案例-open too many files,MyISAM与partition 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-------------------------------------------------------------------------------------------------短文---------------------------------------------------------------------------------------------------------------

長話短說~

現象:
error log中批量刷錯誤日志, 形如:?[ERROR] /usr/sbin/mysqld: Can't open file: './*******/*********.frm' (errno: 24)
PS: 用*代替某些不可描述內容_(:з」∠)_

查了一下errno, ?代表的信息是:?OS error code ?24: ?Too many open files

實際上解決起來也很簡單, 修改下系統的openfiles和mysql的
open_files_limit就好了,
出問題的虛擬機上面,?open_files_limit的值設置成了300, 只需要改高一些, 比如65535, 應該就解決了;

更進一步:
雖說能解決問題, 但是有一個現象還是比較奇怪的, 一般來說, 如果是Too many open files的問題, 出問題的文件應該沒什么規律;
但是這個環境上面, 刷了一大票的錯誤信息, 都是同一個表的, 這個就比較奇怪了, 為什么全部是那一張表?

好奇心:
所以就登進去看看那張表的情況, 發現是一個MyISAM的表, 而且有600+G, 但是文件的大小應該不會對open files有什么影響才對;
于是再看一眼表結構: 分區表, 還是500+的分區數量??

搜索:
印象里面innodb在操作分區表的時候只會單獨操作一個文件的, 但是MyISAM就不太了解了;
查閱文檔以后發現如下內容:


大致意思如下:
根據MyISAM引擎的設計, 基于MyISAM的分區表在操作的時候, 會打開表中所有的分區;
所以需要提供足夠多的文件描述符;

考慮到出問題的那張表正好是一個MyISAM的分區表, 且包含了500+的分區, 所以把修改參數的方案和分區表的問題一起反饋給了業務方;

PS: MyISAM是個坑啊, 別用了行不行....._(:з」∠)_

總結

以上是生活随笔為你收集整理的MySQL案例-open too many files,MyISAM与partition的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。