MySQL: Errcode: 24 when using LOCK TABLES

While running into MySQL's open files limit will manifest itself into various error messages, this is the standard one that you'll receive during a mysqldump:

mysqldump: Got error: 29: File './databasename/tablename.MYD' not found 
(Errcode: 24) when using LOCK TABLES

The best way to get to the bottom of the error is to find out what it means:

$ perror 24
OS error code  24:  Too many open files

There's two ways to fix the problem. First, if you find that you only hit the limit during mysqldumps and never during normal database operation, just add --single-transaction to your mysqldump command line options. This will cause mysql to keep only one table open at a time.

However, if this happens while backups aren't running, you may want to increase the open_files_limit in your MySQL configuration file. By default, the variable is set to 1,024 open files.

For further reading:
5.2.3. System Variables
7.13. mysqldump - A Database Backup Program

Printed from: http://rackerhacker.com/2007/08/19/mysql-errcode-24-when-using-lock-tables/ .
© Major Hayden 2012.

10 Comments   »

Trackbacks/Pingbacks

  1. Racker Hacker » MySQL: Errcode: 24 when using LOCK TABLES - Web Development Stuff, Freedom Stuff : Appeal-Democrat
  2. Debacher-Blog » Blog Archive » MySQL Errorcode 24

RSS feed for comments on this post

Leave a Reply

 

  • Welcome! I started this blog as a way to give back to all of the other system administrators who have taught me something in the past. Writing these posts brings me a lot of enjoyment and I hope you find the information useful. If you spot something that's incorrect or confusing, please write a comment and let me know. Drop me a line if there's something you want to know more about and I'll do my best to write a post on the topic.
    -- Major Hayden

    Flattr this