Ubuntu: 12,04 LTS (Linux mysql02 3.2.0-40-generic # 64-Ubuntu SMP Mon 25 Mar 22:22:10 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux)
MySQL: Ubuntu distro 5.5.31
Apparmor: DIHAPUS!
Server telah berjalan sangat baik selama lebih dari setahun. Kemudian Senin ini MySQL mulai gagal. Pembaruan telah menyebabkan masalah dan kami tidak dapat mengetahuinya apa. Kami bahkan mencoba memutar kembali ke MySQL 5.5.30 tetapi tidak berhasil. Kami kembali pada 5.5.31.
Entri log kesalahan MySQL:
130430 7:55:46 [ERROR] Error in accept: Too many open files
130430 7:55:46 [ERROR] /usr/sbin/mysqld: Can't open file: './eci_elite_test/fclvod.frm' (errno: 24)
130430 7:55:46 [ERROR] /usr/sbin/mysqld: Can't open file: './eci_elite_test/fcnote.frm' (errno: 24)
130430 7:55:47 [ERROR] /usr/sbin/mysqld: Can't open file: './eci_elite_test/ffcont.frm' (errno: 24)
130430 7:55:47 [ERROR] /usr/sbin/mysqld: Can't open file: './eci_elite_test/ffcontv.frm' (errno: 24)
130430 7:55:47 [ERROR] /usr/sbin/mysqld: Can't open file: './eci_elite_test/ffnote.frm' (errno: 24)
130430 7:55:47 [ERROR] /usr/sbin/mysqld: Can't open file: './eci_elite_test/frcfcl.frm' (errno: 24)
Tampaknya kita mengalami masalah ulimit. Kami telah menghapus sepenuhnya APPARMOR. Kami telah meningkatkan /etc/security/limits.conf dan masih belum berhasil:
# Out of desperation....
* soft nofile 49152
* hard nofile 65536
# No effect!?!!?
#mysql soft nofile 49152
#mysql hard nofile 65536
Dan untuk menunjukkan limit.conf berfungsi:
root@mysql02:/etc/security# ulimit -Sa | grep "open files"
open files (-n) 49152
root@mysql02:/etc/security# ulimit -Ha | grep "open files"
open files (-n) 65536
Dan di sini ada entri penting di my.cnf
[mysqld_safe]
open_files_limit = 16384
[mysqld]
open_files_limit = 16384
Namun:
root@mysql02:/etc/mysql# mysqladmin -u root -pThePassword variables| grep open_files_limit
open_files_limit | 1024
Kami benar-benar bingung dan jatuh. Setiap bantuan akan sangat dihargai.