首先,要确定某些用户或组限制,您必须执行以下操作:
root@ubuntu:~# sudo -u mysql bash mysql@ubuntu:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 71680 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 71680 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited mysql@ubuntu:~$
重要的是:
打开文件(-n)1024
如您所见,您的操作系统供应商提供了此版本的基本Linux配置 - 每个进程1024个文件.
对于繁忙的MySQL安装,这显然是不够的.
现在,要修复此问题,您必须修改以下文件:
在/etc/security/limits.conf
mysql soft nofile 24000 mysql hard nofile 32000
某些类型的Linux还需要额外的配置才能使其坚持守护进程与登录会话.例如,在Ubuntu 10.04中,您还需要通过将以下行添加到以下内容来设置pam会话限制/etc/pam.d/common-session
:
session required pam_limits.so
Jlbelmonte.. 8
相当古老的问题,但这是我的两分钱.
您可能遇到的问题是mysql引擎没有将其变量"open-files-limit"设置为正确.
您可以看到有多少文件允许mysql打开mysql> SHOW VARIABLES;
即使您已将限制设置为更高的值,也可能设置为1024.
您可以在命令行中为mysqld使用选项--open-files-limit = XXXXX.
干杯
首先,要确定某些用户或组限制,您必须执行以下操作:
root@ubuntu:~# sudo -u mysql bash mysql@ubuntu:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 71680 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 71680 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited mysql@ubuntu:~$
重要的是:
打开文件(-n)1024
如您所见,您的操作系统供应商提供了此版本的基本Linux配置 - 每个进程1024个文件.
对于繁忙的MySQL安装,这显然是不够的.
现在,要修复此问题,您必须修改以下文件:
在/etc/security/limits.conf
mysql soft nofile 24000 mysql hard nofile 32000
某些类型的Linux还需要额外的配置才能使其坚持守护进程与登录会话.例如,在Ubuntu 10.04中,您还需要通过将以下行添加到以下内容来设置pam会话限制/etc/pam.d/common-session
:
session required pam_limits.so
相当古老的问题,但这是我的两分钱.
您可能遇到的问题是mysql引擎没有将其变量"open-files-limit"设置为正确.
您可以看到有多少文件允许mysql打开mysql> SHOW VARIABLES;
即使您已将限制设置为更高的值,也可能设置为1024.
您可以在命令行中为mysqld使用选项--open-files-limit = XXXXX.
干杯