Mysql-Server killt ständig alle Datenbanken

bofh1337

Erfahrenes Mitglied
Moin, seit 9 Tagen habe ich bei mir massive Probleme mit Mysql, aber erst mal etwas zum System:

- Linux Mint Mate 17.0.1 (apt-get auf aktuellen Stand)
- originale Paketquellen, einzig oracle-Java wurde per ppa hinzugefügt
- alter Dual-Core mit 3 GHz
- 8 GB Ram
- 2 x 320 GB + 1 x 200 GB HD (Smart und Sektor-Check ohne Befund)
- originale "my.cnf" in /etc/mysql,- nur der Charset und Datenbank-Engine (innoDB) wurde eingestellt
- PHP-Version ist die 5.5.9
- Mysql-Version ist die 5.5.41

Vor ca 9 Tagen wurde mir beim update statt des installierten "mysql-server-5.x.x" der "mysql-core-server-5.6" installiert und die Datenbanken einfach gekillt (war plötzlich nur noch die Hälfte der Daten vorhanden). Vorher lief er schnell und stabil, ohne Ausfälle.
Ich habe den falschen Server komplett (inkl. aller Konfig und Datenbanken) entfernt und wollte wieder den richtigen Installieren, aber egal was ich angestellt habe, die Abhängigkeiten ließen sich nicht mehr auflösen, also habe ich dann nach rund 12 Stunden werkeln den Rechner kurzerhand komplett neu installiert und den Mysql-Server auch von Grund auf neu eingerichtet,- das ist jetzt 3 Tage her.
Gerade schalte ich den Rechner ein und will mein Projekt weiter machen, da springt mir die Meldung entgegen:

zb.:
Warning: Can't open file: './db_orw_customers/jhf5_session.frm' (errno: 24) query

oder:
Out of resources when opening file '/tmp/#sql_15e7_0.MYD' (Errcode: 24) SQL=SHOW FULL COLUMNS FROM `zw6rl_users`

oder:
Can't open file: './projekt_orw_customers_010_old/w8roj_session.frm'


Also wurden mal eben alle Datenbanken gekillt, die betroffenen Tabellen sind auch nicht mehr vollständig vorhanden.
Woran kann es liegen, das Mysql ständig die Datenbanken killt?
 
Hi,

also errno 24 bedeutet:
C:
#define EMFILE 24 /* Too many open files */

Kannst du als mysql user mal ein "ulimit -n" ausführen und das Ergebnis hier posten?
Auf meinem Debian Server hab ich 1024 und keine Probleme mit mysql:
Code:
$> su mysql -s /bin/sh -c "ulimit -n"
1024

Du kannst den Wert mal testweise auch erhöhen: http://duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimit

Grüße,
BK
 
Zuletzt bearbeitet:
Das Limit ist bei mir auch 1024, ich habe es mal geändert, vielleicht bringt es ja etwas ;)

mysql> show global variables like 'open%';
+------------------+---------+
| Variable_name | Value |
+------------------+---------+
| open_files_limit | 1024000 |
+------------------+---------+
1 row in set (0.00 sec)
 
Also...temporär laufen die Datenbanken jetzt, dann scheint es wohl an diesem Limit zu liegen...verstehen kann ich es zwar nicht, weil ich gewöhnlich mind. 15 Datenbanken mehr installiert habe, aber ok
 
Der SQL-Server wurde ja komplett neu aufgesetzt (inkl. der Konfigurationen usw.), alle Datenbanken wurden frisch angelegt (die alten komplett gelöscht), da ich "InnoDB" als Standard eingestellt habe, wurde das ja auch nötig, damit beim Anlegen neuer DBs jede Tabelle in eine separate Datei geschrieben wird, sonst wird der Platz auf der Platte nicht mehr freigegeben, wenn mehrere Datensätze gelöscht werden und irgendwann würde der SQL-Server 10 GB Ram brauchen.
Bei mir sind aber auch ein paar Joomla 3.x DBs am laufen, welche mit FKs, Nested Sets und Json laufen, eventuell liegt es daran
 
Zurück