Ubuntu: 12.04 LTS (Linux mysql02 3.2.0-40-generic # 64-Ubuntu SMP Mo 25 Mrz 21:22:10 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux)
MySQL: Ubuntu Distribution 5.5.31
Apparmor: ENTFERNT!
Server läuft seit über einem Jahr auf Hochtouren. Dann begann an diesem Montag MySQL zu scheitern. Ein Update hat das Problem verursacht und wir können nicht herausfinden, was es ist. Wir haben sogar versucht, ein Rollback auf MySQL 5.5.30 durchzuführen, aber ohne Erfolg. Wir sind um 5.5.31 Uhr zurückgekehrt.
MySQL-Fehlerprotokolleinträge:
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)
Es sieht so aus, als stünden wir vor einem Problem mit ulimit. Wir haben APPARMOR vollständig entfernt. Wir haben die /etc/security/limits.conf erhöht und immer noch kein Glück:
# Out of desperation....
* soft nofile 49152
* hard nofile 65536
# No effect!?!!?
#mysql soft nofile 49152
#mysql hard nofile 65536
Und um zu zeigen, dass die limits.conf funktioniert:
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
Und hier sind die wichtigen Einträge in my.cnf
[mysqld_safe]
open_files_limit = 16384
[mysqld]
open_files_limit = 16384
Jedoch:
root@mysql02:/etc/mysql# mysqladmin -u root -pThePassword variables| grep open_files_limit
open_files_limit | 1024
Wir sind total ratlos und niedergeschlagen. Jede Unterstützung wäre sehr dankbar.