FAT47の底辺インフラ議事録

学んだことのメモ帳です

mysqldumpでnot found (Errcode: 24)が出た話

テーブルが大量にあるDBの運用でmysqldumpをした際に、

mysqldump -uroot hoge > /tmp/hoge_20130227.dump
mysqldump: Got error: 1105: File './hoge/hoge80_201304.MYD' not found (Errcode: 24) when using LOCK TABLES

のようなエラーメッセージが表示された。

一応ファイル確認してみるも、

ll /var/lib/mysql/hoge/hoge80_201304*
hoge80_201304.MYD  hoge80_201304.MYI  hoge80_201304.frm

ある・・・。

で、どうやらmysqldumpをする際にLOCK TABLEを実行するのだが、
テーブルが多すぎてファイルオープンに失敗しているようだった。

参照
http://bugs.mysql.com/bug.php?id=26026

検証用DBだったので、

    • skip-lock-tablesを追加して、
mysqldump -uroot --skip-lock-tables hoge > /tmp/hoge_20130227.dump

で、解決。