SOFTELメモ Developer's blog

【MySQL】mysqldump で Too many open files が出たとき

2020/05/15 MySQL

問題

mysqldumpしていたら、以下のようなエラーが出ました。

mysqldump: Got error: 23: Out of resources when opening file './xxx/yyy.MYD' (Errcode: 24 - Too many open files) when using LOCK TABLES
mysqldump: Got error: 1016: Can't open file: './aaa/bbb.frm' (errno: 24 - Too many open files) when using LOCK TABLES

答え

テーブルが多いと、MySQLのファイルハンドラの上限に達することがあります。

現在の設定の確認

SHOW VARIABLES LIKE 'open%';

設定の変更(例)

my.cnf を編集

open_files_limit = 4096

答え 2

テーブルのロックをさせないでmysqldumpする方法もあります。

以下のオプションを使うと、エラーは回避できます。

mysqldump --skip-lock-tables データベース名 > 出力先

ロックしないので、ダンプ中のデータの変更には注意。

関連するメモ

コメント