无法将MySQL open-files-limit的限制设置为1024到65535

Joe*_*oey 10 mysql linux

我有mysql ver.5.1.49-3,我正在使用linux debian.我试图将open-files-limit设置为65535.所以我在/ etc/mysql /中编辑了te my.cnf

[mysqld]
open_files_limit = 65535
[mysqld_safe]
open_files_limit = 65535
Run Code Online (Sandbox Code Playgroud)

然后在/etc/security/limit.conf中

*   soft    nofile  100000
*   hard    nofile  200000
Run Code Online (Sandbox Code Playgroud)

重新启动mysql服务后,我在linux中运行此命令

ps -ef|grep mysql
Run Code Online (Sandbox Code Playgroud)

我得到了65535.当我以root身份登录mysql并获取open-files-limit的值时

show global variables like "%open_files_limit%";
Run Code Online (Sandbox Code Playgroud)

我得到1024.请帮忙.

min*_*nni 13

如果使用systemd启动mysql,则此设置很重要:

在文件中,/lib/systemd/system/mysql.service您必须[Service]在末尾的部分中添加以下两行:

LimitNOFILE = infinity
LimitMEMLOCK = infinity
Run Code Online (Sandbox Code Playgroud)

在重新启动systemctl和mysql之后:

systemctl daemon-reload
/etc/init.d/mysql restart
Run Code Online (Sandbox Code Playgroud)

要检查配置是否有效,您可以从运行的mysql进程获取参数,如下所示:

cat /proc/$(pgrep mysqld$)/limits | grep files
Run Code Online (Sandbox Code Playgroud)


Joe*_*oey 2

我需要的只是将此行添加到 /etc/pam.d/common-session 中: session required pam_limits.so

然后重新启动阿帕奇