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

Verwendung und Verschönerung von HTML-Blockquote-Tags

Definition und Verwendung von Blockquote Das Tag ...

40 Schriftarten, empfohlen für berühmte Website-Logos

Wissen Sie, welche Schriftarten in den Logo-Desig...

Gemeinsame Nutzung von zwei Plug-Ins zur Übersetzung von Webseiten

Übersetzen Sie diese URL: http://translateth.is G...

Anwendungsbeispiel-Tutorial zum Schlüssel-Rendering in Vue

Einführung Während des Front-End-Projektentwicklu...

Detaillierte Erklärung zur Verwendung von $props, $attrs und $listeners in Vue

Inhaltsverzeichnis Hintergrund 1. Dokumentbeschre...

Lösung für FEHLER 1054 (42S22) beim Ändern des Passworts in MySQL 5.7

Ich habe MySQL 5.7 neu installiert. Beim Anmelden...

CSS zum Erzielen eines Beispielcodes für eine Bildlaufleiste

Auf manchen Websites sieht man oft Bilder, die ko...

So konfigurieren Sie mehrere Projekte mit demselben Domänennamen in Nginx

Es gibt zwei Möglichkeiten, mit Nginx mehrere Pro...

Tutorial zur Installation des Tomcat-Servers unter Windows

1 Herunterladen und vorbereiten Zuerst müssen wir...

Lösung für den Konfigurationsfehler des Nginx-SSL-Zertifikats

1. Einleitung Wenn ein Webprojekt auf unserem Lin...

Anwendung zur Verarbeitung von HTML-Tag-Überläufen

Verwenden Sie CSS, um Bildlaufleisten zu ändern 1...

So ändern Sie die Portzuordnung eines laufenden Docker-Containers

Vorwort Wenn Docker Run einen Container erstellt ...