【MySQL】mysqldump で Too many open files が出たとき
問題
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 データベース名 > 出力先
ロックしないので、ダンプ中のデータの変更には注意。
コメント