#1016 - 无法打开文件:'。/ database_name / #sql -38f_36aa.frm'(错误号码:24)

时间:2012-07-09 06:47:37

标签: mysql partitioning

我在mysql中使用MyISAM存储引擎。    我想在特定的表上创建分区,为此我正在执行查询 -

alter table Stops PARTITION BY KEY(`stop_id`) PARTITIONS 200

其中'stop_id'是varchar的类型。执行上述查询时,我收到错误 -

#1016 - Can't open file: './database_name/#sql-38f_36aa.frm' (errno: 24)

有人可以帮我解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:18)

来自herehere

  

错误:24表示为给定进程打开的文件太多。   有一个名为'open_files_limit'的只读mysql变量   将显示mysqld允许的打开文件数:

SHOW VARIABLES LIKE 'open%';
     

许多系统将此设置为非常低的值,如1024。   不幸的是,以下内容不起作用:

     

SET open_files_limit = 100000

     

MySQL会回复:

     

ERROR 1238(HY000):变量'open_files_limit'是只读的   变量

     

但是,可以对/etc/my.cnf进行更改。这个文件可能   不存在,如果不存在,只需创建它。确保它具有以下内容   内容:

     

的[mysqld]

open-files-limit = 100000
     

然后,请务必重启mysql:

     

sudo /etc/init.d/mysql restart

     

现在,SHOW VARIABLES LIKE'open%'应该显示100000.你的号码   使用可能会有所不同。