How to Fix (errno: 24, error: 17) in MySQL

How to Fix an (errno: 24) in MySQL

转自:http://info.solomonson.com/content/how-fix-errno-24-mysql

When creating a large number of partitions or tables, MySQL may mysteriously stop working and you find this type of error on/var/lib/mysql/$HOSTNAME.err:

[ERROR] /usr/sbin/mysqld: Can't open file: './database/table.frm' (errno: 24)

errno: 24 simply means that too many files are open for the given process. There is a read-only mysql variable calledopen_files_limit that will show how many open files are allowed by the mysqld:

SHOW VARIABLES LIKE 'open%'

A lot systems set this to something very low, like 1024. Unfortunately, the following will NOT work:

SET open_files_limit=100000

MySQL will respond with:

ERROR 1238 (HY000): Variable 'open_files_limit' is a read only variable

However, it is possible to make a change to /etc/my.cnf. This file may not exist, if not, just create it. Be sure it has the following contents:

[mysqld]
open_files_limit = 100000

Then, be sure to restart mysql:

sudo /etc/init.d/mysql restart

Now, SHOW VARIABLES LIKE 'open%' should show 100000. The number you use may be different.


How to Fix an (errno: 17) in MySQL
转自: http://stackoverflow.com/questions/4584458/error-dropping-database-cant-rmdir-test-errno-17

A database is represented by a directory under the data directory, and the directory is intended for storage of table data.

The DROP DATABASE statement will remove all table files and then remove the directory that represented the database. It will not, however, remove non-table files, whereby making it not possible to remove the directory.

MySQL displays an error message when it cannot remove the directory

you can really drop the database manually by removing any remaining files in the database directory and then the directory itself.

你可能感兴趣的:(Database)