Heim  >  Artikel  >  Datenbank  >  MySQL-Datenbankfehler: Lösung zu viele Verbindungen

MySQL-Datenbankfehler: Lösung zu viele Verbindungen

黄舟
黄舟Original
2017-09-11 11:29:222818Durchsuche

Diese Art von Fehler wird offensichtlich dadurch verursacht, dass mysql_close nach mysql_connect vergessen wird.
Wenn eine große Anzahl von Verbindungen hergestellt wird, tritt der Fehler „Zu viele Verbindungen“ auf. Die Standardanzahl der MySQL-Verbindungen beträgt 100. Unter welchen Umständen tritt dies auf? Fehler auftreten?
Nach dem normalen mysql_connect rufen Sie mysql_close() auf, um die Verbindung zu schließen
Aber wenn ein Verbindungsfehler auftritt und mysql_real_query() mit einem Fehler beendet wird, vergessen Sie möglicherweise mysql_close();
Sie müssen also feststellen, ob Bevor das Programm close() zurückgibt, ist es am sichersten, beim Schreiben einer Funktion nur einen Exit zu haben!
Sie können die Anzahl der erlaubten Verbindungen auch erhöhen, indem Sie die MySQL-Konfigurationsdatei ändern!
Manchmal treten auf Ihrem Server häufig Fehler wie dieser auf:
Die Fehlermeldung lautet wie folgt:

Can not connect to MySQL server
Error: Too many connections
Errno.: 1040
Similar error report has beed dispatched to administrator before.

Aus der offiziellen Dokumentation wissen wir, dass die Standardverbindungsnummer von MySQL kompiliert und erstellt wurde unter Linux installiert ist 100
Dokumentation:

http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

MySQL-Beamter teilt uns mit, dass wir den Wert von max_connections ändern müssen. Wie ändern wir ihn also? Es gibt zwei Methoden
1. Ändern Sie die Konfigurationsdatei
Ändern Sie die Datei /etc/my.cnf und fügen Sie max_connections=N in [mysqld] hinzu. Wenn Sie diese Datei nicht haben, kompilieren Sie bitte den Quellcode vom Support - Kopieren Sie die benötigte *.cnf-Datei im Dateiordner nach /etc/my.cnf. Ich verwende my-medium.cnf, mittlere Serverkonfiguration. Der Inhalt meines [MySQL] lautet beispielsweise wie folgt:

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 160M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000

Da ich mit MySQL nicht sehr vertraut bin, wurden viele Parameter nicht geändert. Ha ha. .
2. Benutzer, die das mysqld-Skript nicht verwenden, starten automatisch.
Ändern Sie die Datei $MYSQL_HOME/bin/mysqld_safe
Zum Beispiel:

/usr/local/mysql/bin/mysqld_safe这个文件
grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe

Ändern Sie den Parameterwert max_connections der entsprechenden Zeilennummer

Das obige ist der detaillierte Inhalt vonMySQL-Datenbankfehler: Lösung zu viele Verbindungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn