Dee*_*epu 9 mysql partitioning
我在mysql中有MyISAM存储引擎的表.我想在特定的表上创建分区,为此我正在执行查询 -
alter table Stops PARTITION BY KEY(`stop_id`) PARTITIONS 200
Run Code Online (Sandbox Code Playgroud)
其中'stop_id'是varchar的类型.执行上述查询时,我收到错误 -
#1016 - Can't open file: './database_name/#sql-38f_36aa.frm' (errno: 24)
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
谢谢.
Jac*_*cob 18
errno:24表示为给定进程打开的文件太多.有一个名为'open_files_limit'的只读mysql变量,它将显示mysqld允许的打开文件数:
Run Code Online (Sandbox Code Playgroud)SHOW VARIABLES LIKE 'open%';许多系统将此设置为非常低的值,例如1024.不幸的是,以下内容不起作用:
SET open_files_limit = 100000
MySQL将回复:
ERROR 1238(HY000):变量'open_files_limit'是只读变量
但是,可以对/etc/my.cnf进行更改.此文件可能不存在,如果没有,只需创建它.确保它具有以下内容:
的[mysqld]
Run Code Online (Sandbox Code Playgroud)open-files-limit = 100000然后,一定要重启mysql:
sudo /etc/init.d/mysql restart
现在,SHOW VARIABLES LIKE'open%'应显示100000.您使用的数字可能不同.
| 归档时间: |
|
| 查看次数: |
10070 次 |
| 最近记录: |