无法增加MySql打开文件限制

6

我已经按照以下方式修改了/etc/mysql/my.cnf

[mysqld]
open-files-limit = 100000
[mysqld_safe]
open-files-limit = 100000

但是当我登录到mysql时,我没有看到这个变量发生任何改变。

mysql> SHOW VARIABLES LIKE 'open%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 1024  |
+------------------+-------+
1 row in set (0.00 sec)

我最初尝试使用open_files_limit,但在某个地方读到需要将下划线(_)替换为破折号(-)。

我正在使用ubuntu 15.10。有什么帮助吗?


我也尝试了以下方法

http://duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimit
http://serverfault.com/questions/440878/changing-open-files-limit-in-mysql-5-5

-------也对以下文件进行了更改

/etc/mysql/mysql.conf.d/mysqld.cnf

#
query_cache_limit   = 1M
query_cache_size        = 16M
open-files-limit    = 15000
#

你重启了MySQL进程吗? - Constantin Guay
是的,我在每次更改后都重新启动了MYSQL。 - Ashwini
让我猜一下,你使用了 innodb_file_per_table = 1,现在正试图修复 MySQL 可以打开的文件数量限制? - N.B.
1个回答

27

如果您正在通过Synaptic软件管理器安装Mysql,并且使用的是最新的Ubuntu 15.10版本,则无法通过更改my.cnf文件中的open_file_limit来增加文件打开限制。您需要进行以下更改。

1. Open /lib/systemd/system/mysql.service as super user
2. Add the following lines to the end of it:

LimitNOFILE=infinity
LimitMEMLOCK=infinity

3. Execute sudo systemctl daemon-reload

4. Restart mysql.

您还需要使用 /etc/init.d/mysql stop/etc/init.d/mysql start 命令来重新启动 MySQL。 - Constantin Galbenu
这没有任何意义。如果我无法提高ulimit -a中定义的限制 那么当MySQL达到那里定义的阈值时,会发生一些糟糕的事情。 - Luka
其他解决方案为LimitNOFILE设置了实际数字,这是不正确的。如果您在MySQL配置文件中设置了实际值,使用infinity可能是正确的。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接