Tôi gặp sự cố với mysql 5.5 chạy trên Ubuntu 12.04 với tham số giới hạn tệp mở.
Gần đây tôi nhận thấy một số vấn đề do giới hạn 1024 và thực tế giới hạn hệ thống chính được đặt thành 1024, vì vậy tôi đã sửa đổi /etc/security/limits.conf bằng cách sau:
* soft nofile 32000
* hard nofile 32000
root soft nofile 32000
root hard nofile 32000
Sau đó tôi kiểm tra giá trị ulimit cho root và thậm chí cho người dùng mysql, cả hai đều trả về giá trị mới: 32000, vì vậy tôi cho rằng thay đổi đã được thực hiện.
Tôi cũng đã thay đổi giá trị tại tệp my.cnf, đặt giới hạn tệp mở thành 24000, như sau:
open-files-limit = 24000
Bây giờ đến phần lẻ, khi tôi khởi động lại dịch vụ mysql và kiểm tra biến open_files_limit, nó trả về rằng nó vẫn được đặt thành 1024, vì vậy tôi gặp vấn đề tương tự mà trước đây (rõ ràng), tôi đã thử sử dụng giới hạn tệp mở thay vì open_files_limit trong tệp cấu hình my.cnf, kết quả tương tự, NHƯNG nếu tôi ghi đè lệnh dịch vụ để khởi động dịch vụ và chỉ bắt đầu sử dụng mysqld (không có tham số bổ sung), dịch vụ sẽ khởi động và khi tôi kiểm tra tham số thì nó trả về 32000 ... Tôi không biết nó lấy giá trị đó từ đâu, vì nó không được đặt tại my.cnf và ít nhất nó không được cung cấp thông qua dòng lệnh, ít nhất là cho bản thân tôi.
Bất kỳ ý tưởng nào về lý do tại sao nó không hoạt động thay đổi và làm thế nào để giải quyết nó theo cách thông thường (khởi chạy nó thông qua dịch vụ ...)?