Đầu tiên, để xác định giới hạn người dùng hoặc nhóm nhất định, bạn phải làm như sau:
[email protected]:~# sudo -u mysql bash
[email protected]:~$ 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
[email protected]:~$
Dòng quan trọng là:
mở tệp (-n) 1024
Như bạn có thể thấy, nhà cung cấp hệ điều hành của bạn cung cấp phiên bản này với cấu hình Linux cơ bản - 1024 tệp cho mỗi quá trình.
Điều này rõ ràng là không đủ cho một cài đặt MySQL bận rộn.
Bây giờ, để khắc phục điều này, bạn phải sửa đổi tệp sau:
/etc/security/limits.conf
mysql soft nofile 24000
mysql hard nofile 32000
Một số phiên bản Linux cũng yêu cầu cấu hình bổ sung để cấu hình này bám vào các quy trình daemon thay vì các phiên đăng nhập. Ví dụ:trong Ubuntu 10.04, bạn cũng cần đặt giới hạn phiên pam bằng cách thêm dòng sau vào /etc/pam.d/common-session
:
session required pam_limits.so