
Vor zwei Wochen habe ich einen neuen Server gekauft und seitdem habe ich manchmal Fehler bei der Verbindung zur Datenbank auf diesem Server. Dies sind Fehlerprotokolle nach dem Neustart von mysqld
var/log/mysqld.log:
131206 10:54:37 [ERROR] Error in accept: Too many open files
131206 10:58:53 [ERROR] Error in accept: Too many open files
131206 11:03:09 [ERROR] Error in accept: Too many open files
131206 11:07:25 [ERROR] Error in accept: Too many open files
131206 11:11:41 [ERROR] Error in accept: Too many open files
131206 11:15:58 [ERROR] Error in accept: Too many open files
131206 11:20:14 [ERROR] Error in accept: Too many open files
131206 11:24:30 [ERROR] Error in accept: Too many open files
131206 11:28:46 [ERROR] Error in accept: Too many open files
131206 11:33:02 [ERROR] Error in accept: Too many open files
Was kann ich tun, um dieses Problem zu lösen?
Entschuldige mein schlechtes Englisch.
AKTUALISIEREN:
können Sie mir helfen, meine .cnf zu aktualisieren?
[mysqld]
local-infile=0
innodb_file_per_table
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Linux server.com 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
PHP 5.3.27 (cli) (built: Nov 28 2013 02:21:29)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with the ionCube PHP Loader v4.4.4, Copyright (c) 2002-2013, by ionCube Ltd., and
with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies
mysql Ver 14.14 Distrib 5.5.31, for Linux (x86_64) using readline 5.1
CentOS release 6.4 (Final)
Antwort1
Ihr letztes Update zeigt, dass Sie ein Problem mit zu vielen geöffneten Dateien haben. Sie müssen ulimit für die Anzahl der maximal geöffneten Dateien erhöhen.
Der Standardwert ist, glaube ich, 1024 (Sie können ihn durch Ausführen überprüfen ulimit -a
). Erhöhen Sie diesen Wert durch Ausführen
ulimit -n neuer Wert
Dadurch wird ein neuer Wert für die aktuelle Sitzung festgelegt, der sofort wirksam wird.
Wenn Sie alternativ möchten, dass die Änderungen auch nach einem Neustart erhalten bleiben, gehen Sie wie folgt vor: Bearbeiten Sie als Root die Datei /etc/security/limits.conf und fügen Sie am Ende diese beiden Zeilen hinzu:
* Soft-Nofile 16000 * hartes Nofile 20000
Die beiden obigen Zeilen ändern die maximale Anzahl von Dateihandles – nofile – auf neue Werte.