Ubuntu: 12.04 LTS (Linux mysql02 3.2.0-40-jenerik # 64-Ubuntu SMP Pzt 25 Mar 21:22:10 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux)
MySQL: Ubuntu dağıtımı 5.5.31
Apparmor: KALDIRILDI!
Sunucu bir yılı aşkın süredir kaya gibi sağlam çalışıyor. Sonra bu Pazartesi MySQL başarısız oldu. Bir güncelleme soruna neden oldu ve bunun ne olduğunu bulamıyoruz. Hatta MySQL 5.5.30'a geri dönmeye çalıştık, ama hiç şansımız yok. Biz 5.5.31 döndü.
MySQL hata günlüğü girişleri:
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)
Görünüşe göre ulimit sorunuyla karşı karşıyayız. APPARMOR uygulamasını tamamen kaldırdık. /Etc/security/limits.conf dosyasını artırdık ve hala şansımız yok:
# Out of desperation....
* soft nofile 49152
* hard nofile 65536
# No effect!?!!?
#mysql soft nofile 49152
#mysql hard nofile 65536
Ve sınırları göstermek için. Conf çalışıyor:
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
Ve işte my.cnf içindeki önemli kayıtlar
[mysqld_safe]
open_files_limit = 16384
[mysqld]
open_files_limit = 16384
Ancak:
root@mysql02:/etc/mysql# mysqladmin -u root -pThePassword variables| grep open_files_limit
open_files_limit | 1024
Biz tamamen güdük ve aşağı. Herhangi bir yardım büyük mutluluk duyacağız.