Lösung für das Problem, dass die Anzahl der MySQL-Verbindungen in CentOS 7 auf 214 begrenzt ist

Lösung für das Problem, dass die Anzahl der MySQL-Verbindungen in CentOS 7 auf 214 begrenzt ist

Finden Sie das Problem

Vor kurzem ist bei mir ein Problem im Projekt aufgetreten. Aufgrund zu vieler Verbindungen wurde die Meldung „Zu viele Verbindungen“ angezeigt und ich musste die Anzahl der Verbindungen erhöhen.

Ich habe in /etc/my.cnf Folgendes geändert:

max_Verbindungen = 2000

Die tatsächliche Anzahl der Verbindungen ist jedoch immer auf 214 begrenzt:

mysql> Variablen wie „max_connections“ anzeigen;
+-----------------+--------+
| Variablenname | Wert |
+-----------------+--------+
| max_Verbindungen | 214 |
+-----------------+--------+
1 Reihe im Set

denken

Wenn ich die Anzahl der Verbindungen auf weniger als 214, beispielsweise 200, einstelle, dann beträgt die tatsächliche Anzahl der Verbindungen 200, was bedeutet, dass es kein Problem mit meiner Konfigurationsdatei gibt.

Sehen Sie sich die offizielle MySQL-Dokumentation an. Dort steht:

Die maximale Anzahl von Verbindungen, die MySQL unterstützen kann, hängt von der Qualität der Thread-Bibliothek auf einer bestimmten Plattform, der verfügbaren RAM-Menge, der RAM-Verwendung pro Verbindung, der Arbeitslast jeder Verbindung und der gewünschten Reaktionszeit ab. Linux oder Solaris sollten in der Lage sein, 500 bis 1000 gleichzeitige Verbindungen zu unterstützen, und bis zu 10.000 Verbindungen, wenn Sie viele Gigabyte RAM zur Verfügung haben und die Arbeitslast jeder Verbindung gering ist oder die Zielvorgabe für die Reaktionszeit nicht anspruchsvoll ist. Windows ist aufgrund der auf dieser Plattform verwendeten Posix-Kompatibilitätsschicht auf (offene Tabellen × 2 + offene Verbindungen) < 2048 beschränkt.
Möglicherweise muss das Open-Files-Limit erhöht werden. Weitere Informationen zum Erhöhen des Betriebssystemlimits für die Anzahl der von MySQL verwendbaren Handles finden Sie auch in Abschnitt 2.5, „MySQL unter Linux installieren“.

Dies bedeutet wahrscheinlich, dass die maximale Anzahl von Verbindungen, die MySQL unterstützen kann, durch das Betriebssystem begrenzt ist. Bei Bedarf können Sie das Open-Files-Limit erhöhen. Mit anderen Worten: Die Anzahl der Verbindungen hängt von der Anzahl der geöffneten Dateien ab.

Problemumgehung

[root@sqzr ~]# ulimit -n
1024

Es ist ersichtlich, dass die maximale Dateideskriptorgrenze des Betriebssystems 1024 beträgt.

Um das maximale Dateideskriptorlimit für MySQL unter Linux zu ändern, bearbeiten Sie die Datei /usr/lib/systemd/system/mysqld.service und fügen Sie am Ende der Datei Folgendes hinzu:

LimitNOFILE=65535
LimitNPROC=65535

Führen Sie nach dem Speichern den folgenden Befehl aus, damit die Konfiguration wirksam wird

$ systemctl daemon-neu laden
$ systemctl starte mysqld.service neu

Die tatsächliche Anzahl der Verbindungen hat 2000 erreicht.

mysql> Variablen wie „max_connections“ anzeigen;
+-----------------+--------+
| Variablenname | Wert |
+-----------------+--------+
| max_verbindungen | 2000 |
+-----------------+--------+
1 Reihe im Set

siehe

https://dev.mysql.com/doc/refman/5.7/en/zu viele Verbindungen.html

https://www.oschina.net/question/853151_241231

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Python stellt eine Verbindung zur Datenbank her MySQL dekomprimierte Version Installationskonfiguration und aufgetretene Probleme
  • Detaillierte Erklärung zur Anzeige der aktuellen Anzahl an MySQL-Verbindungen
  • MySQL zeigt die maximale Anzahl von Verbindungen an und ändert die maximale Anzahl von Verbindungen
  • Zusammenfassung der Tipps zum Festlegen der maximalen Anzahl von Verbindungen in MySQL
  • So legen Sie die Anzahl der MySQL-Verbindungen fest (zu viele Verbindungen)
  • Perfekte Lösung für das Problem, dass MySQL keine Verbindung zur Datenbank über localhost herstellen kann
  • So verwenden Sie Java Web zum Herstellen einer Verbindung zur MySQL-Datenbank
  • Beispiel für eine Python 3.x-Datenbankverbindung (PyMySQL-Methode)
  • Detaillierte Erläuterung der PHP-MySQL-Operation „mysql_connect“ zur Verbindung mit einer Datenbankinstanz
  • Fassen Sie zwei Möglichkeiten zum Ändern der maximalen Anzahl von Verbindungen in MySQL zusammen
  • So legen Sie die Anzahl der MySQL-Verbindungen fest und ermitteln sie

<<:  Implementierung der Funktion zum Hinzufügen einer Besuchszählung im GitHub+Jekyll-Blog in einer Minute mit JS

>>:  Chinesische Parameterbeschreibung und Verwendungsbeispiele für ffmpeg

Artikel empfehlen

Vorgehensweise, wenn die Online-MySQL-Auto-Increment-ID erschöpft ist

Inhaltsverzeichnis Tabellendefinition - automatis...

js realisiert das Verpacken mehrerer Bilder in Zip

Inhaltsverzeichnis 1. Dateien importieren 2. HTML...

Implementierungsmethoden gängiger CSS3-Animationen

1. Was ist CSS Animations ist ein vorgeschlagenes...

So verwenden Sie den Linux-Befehl whatis

01. Befehlsübersicht Der Befehl whatis sucht in e...

Benutzerdefinierter Kalendereffekt in JavaScript

In diesem Artikel wird der spezifische Code des b...

Detaillierte Erklärung der .bash_profile-Datei im Linux-System

Inhaltsverzeichnis 1. Umgebungsvariable $PATH: 2....

Python 3.7-Installationstutorial für MacBook

Der detaillierte Prozess der Installation von Pyt...