DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info.gz) Not enough file handles

Info Catalog (mysql.info.gz) Cannot initialize character set (mysql.info.gz) Common errors
 
 A.2.17 File Not Found
 ---------------------
 
 If you get `ERROR '...' not found (errno: 23)', `Can't open file: ...
 (errno: 24)', or any other error with `errno 23' or `errno 24' from
 MySQL, it means that you haven't allocated enough file descriptors for
 the MySQL server.  You can use the `perror' utility to get a
 description of what the error number means:
 
      shell> perror 23
      Error code  23:  File table overflow
      shell> perror 24
      Error code  24:  Too many open files
      shell> perror 11
      Error code  11:  Resource temporarily unavailable
 
 The problem here is that `mysqld' is trying to keep open too many files
 simultaneously.  You can either tell `mysqld' not to open so many files
 at once or increase the number of file descriptors available to
 `mysqld'.
 
 To tell `mysqld' to keep open fewer files at a time, you can make the
 table cache smaller by reducing the value of the `table_cache' system
 variable (the default value is 64). Reducing the value of
 `max_connections' also will reduce the number of open files (the
 default value is 100).
 
 To change the number of file descriptors available to `mysqld', you can
 use the `--open-files-limit' option to `mysqld_safe' or (as of MySQL
 3.23.30) set the `open_files_limit' system variable.   Server
 system variables.  The easiest way to set these values is to add an
 option to your option file.   Option files.  If you have an old
 version of `mysqld' that doesn't support setting the open files limit,
 you can edit the `mysqld_safe' script.  There is a commented-out line
 `ulimit -n 256' in the script.  You can remove the `#' character to
 uncomment this line, and change the number `256' to set the number of
 file descriptors to be made available to `mysqld'.
 
 `--open-files-limit' and `ulimit' can increase the number of file
 descriptors, but only up to the limit imposed by the operating system.
 There is also a "hard" limit that can be overridden only if you start
 `mysqld_safe' or `mysqld' as `root' (just remember that you also need
 to start the server with the `--user' option in this case so that it
 does not continue to run as `root' after it starts up).  If you need to
 increase the operating system limit on the number of file descriptors
 available to each process, consult the documentation for your system.
 
 * If you run the `tcsh' shell, `ulimit' will not work!  `tcsh'
 will also report incorrect values when you ask for the current limits.
 In this case, you should start `mysqld_safe' using `sh'.
 
Info Catalog (mysql.info.gz) Cannot initialize character set (mysql.info.gz) Common errors
automatically generated byinfo2html