So erreichen Sie die maximale Anzahl von Verbindungen in MySQL

So erreichen Sie die maximale Anzahl von Verbindungen in MySQL

Was ist der Grund für den plötzlichen Anstieg der Anzahl der Datenbankverbindungen?

Es kann sein, dass die Datenbankleistung plötzlich nachlässt und es lange dauert, bis verbundene Clients eine Antwort erhalten. Clients denken, dass ihre Verbindung nicht bestätigt wurde, und stellen daher weiterhin Verbindungen her. Dadurch erhöht sich die Anzahl der Sitzungen, wodurch die Datenbank ausgelastet wird und schließlich abstürzt.

1. Einleitung

Im Projekt kann die ungewöhnliche Situation „MySQL: FEHLER 1040: Zu viele Verbindungen“ auftreten. Warum: Ein Grund für diese Situation ist, dass der Datenverkehr zu hoch ist und der MySQL-Server ihn nicht verarbeiten kann. Zu diesem Zeitpunkt sollten Sie erwägen, den Lesedruck vom Server zu erhöhen, um ihn zu verteilen. Ein weiterer Grund ist, dass der Wert für max_connections in der MySQL-Konfigurationsdatei zu klein ist.

2. Wissenspunkte

Der max_connections-Parameter von Mysql wird verwendet, um die maximale Anzahl von Verbindungen (Benutzern) festzulegen. Jeder mit MySQL verbundene Benutzer wird als eine Verbindung gezählt. Der Standardwert von max_connections variiert in verschiedenen Versionen leicht.

Mysql5.5 mysql5.6 mysql5.7: Die standardmäßige maximale Anzahl von Verbindungen beträgt 151 und die Obergrenze beträgt: 100000

wKioL1WfL-mQ12woAACbi5DxTZU099.jpg

Die standardmäßige maximale Anzahl an Verbindungen und die Obergrenze der Anzahl an Verbindungen, die geändert werden kann, sind für Mysql5.1 je nach Nebenversion unterschiedlich.

wKioL1WfMCPTjvf2AAEkEu6cg1k964.jpg

MySQL 5.0-Version: Die standardmäßige maximale Anzahl von Verbindungen beträgt 100 und die Obergrenze liegt bei 16384

wKioL1WfMFWhrBbHAACjwjpPK14276.jpg

Ich möchte mich über die Benennung der MySQL-Versionen beschweren, die von 5.7 auf 8.0 gesprungen ist. Mysql5.5 mysql5.6 mysql5.7: Die standardmäßige maximale Anzahl an Verbindungen beträgt 151. Für Datenbankanwendungen mit vielen gleichzeitigen Verbindungen reicht dieser Wert bei weitem nicht aus. Wenn die Anzahl der Verbindungsanforderungen die Standardanzahl der Verbindungen überschreitet, tritt ein Fehler auf, der darauf hinweist, dass keine Verbindung zur Datenbank hergestellt werden kann. Daher müssen wir die Anzahl entsprechend erhöhen. Bei der Verwendung einer MySQL-Datenbank tritt häufig das Problem auf, dass keine Verbindung zum MySQL-Server hergestellt werden kann. Zu viele Verbindungen – MySQL 1040-Fehler. Dies liegt daran, dass die Anzahl der Verbindungen, die auf MySQL zugreifen und noch nicht freigegeben wurden, die Obergrenze von MySQL erreicht hat. MySQL behält für den Administrator-Login (SUPER) immer eine Verbindung bei, die vom Administrator zum Herstellen einer Verbindung mit der Datenbank für Wartungsvorgänge verwendet wird, selbst wenn die aktuelle Anzahl der Verbindungen max_connections erreicht hat. Daher beträgt die tatsächliche Höchstzahl der Verbindungen, die zu MySQL hergestellt werden können, max_connections+1. Eine Erhöhung des Werts des Parameters max_connections beansprucht nicht zu viele Systemressourcen. Die Nutzung der Systemressourcen (CPU, Speicher) hängt hauptsächlich von der Dichte und Effizienz der Abfragen ab. Das offensichtlichste Symptom, wenn dieser Parameter zu klein eingestellt wird, ist der Fehler „Zu viele Verbindungen“.

3. Üben

1. Überprüfen Sie die maximale Anzahl an Verbindungen

Mysql5.5 mysql5.6 mysql5.7: Die standardmäßige maximale Anzahl von Verbindungen beträgt 151 und die Obergrenze beträgt: 100000

    mysql> Variablen wie "%max_connections%" anzeigen;
    ±-----------------±------+
    | Variablenname | Wert|
    ±-----------------±------+
    | max_Verbindungen| 151 |
    ±-----------------±------+
    1 Zeile im Satz (0,00 Sek.)

2. Überprüfen Sie die maximale Anzahl der vom Server beantworteten Verbindungen

mysql> globalen Status wie „Max_used_connections“ anzeigen;
+----------------------+----------+
| Variablenname | Wert |
+----------------------+----------+
| Max_genutzte_Verbindungen | 11 |
+----------------------+----------+
1 Zeile im Satz (0,00 Sek.)

Sie können sehen, dass die maximale Anzahl an Verbindungen, auf die der Server antwortet, 11 beträgt, was weit unter der maximalen Anzahl an Verbindungen liegt, die der MySQL-Server zulässt. Der ideale Einstellbereich für den maximalen Verbindungswert des MySQL-Servers ist: Das Verhältnis des maximalen Verbindungswerts der Serverantwort zum oberen Verbindungsgrenzwert des Servers liegt über 10 %. Liegt es unter 10 %, bedeutet dies, dass der maximale Verbindungsgrenzwert des MySQL-Servers zu hoch eingestellt ist.

3. Ändern Sie die maximale Anzahl von Verbindungen

Zum Ändern der maximalen Anzahl von Verbindungen gibt es zwei gängige Möglichkeiten:
Die erste Methode: Ändern Sie die maximale Anzahl von Verbindungen (max_connections) in der Befehlszeile und legen Sie die maximale Anzahl von Verbindungen auf 1000 fest.

mysql> setze global max_connections = 1000;

Bei dieser Methode besteht ein Problem: Die festgelegte maximale Anzahl von Verbindungen gilt nur für den aktuellen MySQL-Dienstprozess. Nach dem Neustart von MySQL wird der ursprüngliche Zustand wiederhergestellt. Denn bei der Initialisierungsarbeit nach dem Start von MySQL werden Daten aus der Konfigurationsdatei gelesen, und diese Methode nimmt keine Änderungen an der Konfigurationsdatei vor.

Die zweite Methode: Ändern Sie die maximale Anzahl von MySQL-Verbindungen (max_connections), indem Sie die Konfigurationsdatei ändern.
Geben Sie das MySQL-Installationsverzeichnis ein, öffnen Sie die MySQL-Konfigurationsdatei my.ini oder my.cnf, suchen Sie nach max_connections=100, ändern Sie es in max_connections=1000 und starten Sie den MySQL-Dienst neu.

IV. Referenzen

1. https://www.yisu.com/zixun/38410.html

2. https://bbs.huaweicloud.com/blogs/147608

Dies ist das Ende dieses Artikels zum Erreichen der maximalen Anzahl von Verbindungen in MySQL. Weitere Informationen zur maximalen Anzahl von Verbindungen in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • 3 Möglichkeiten, die maximale Anzahl von Verbindungen in MySQL richtig zu ändern
  • Ändern Sie die maximale Anzahl von MySQL-Verbindungen und Konfigurationsdateien in Docker
  • 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
  • Fassen Sie zwei Möglichkeiten zum Ändern der maximalen Anzahl von Verbindungen in MySQL zusammen
  • Teilen Sie 3 Methoden zum Ändern der maximalen Anzahl von MySQL-Verbindungen
  • So erhöhen Sie die maximale Anzahl von Verbindungen in MySQL

<<:  So implementieren Sie die Kommunikation zwischen Docker-Containern

>>:  Details zur Verwendung von Bimface in Vue

Artikel empfehlen

MySQL-Lernaufzeichnung: Blutiger Vorfall durch KEY-Partition verursacht

Nachfragehintergrund Ein Teil der Daten in der Ge...

Docker installiert ClickHouse und initialisiert den Datentest

Clickhouse-Einführung ClickHouse ist ein spalteno...

Beispiel für einen Persistenzbetrieb mit Gearman + MySQL

Dieser Artikel verwendet die Gearman+MySQL-Method...

So verhindern Sie das Flashen von Vue in kleinen Projekten

Zusammenfassung HTML: Element plus V-Umhang CSS: ...

So teilen und führen Sie mehrere Werte in einem einzigen Feld in MySQL zusammen

Mehrere Werte kombiniert anzeigen Nun haben wir d...

Detaillierte Erklärung der Whitelist-Regeln von nginx-naxsi

Syntax der Whitelist-Regel: Grundregel wl:ID [neg...

Docker- und Portainer-Konfigurationsmethoden unter Linux

1. Installieren und verwenden Sie Docer CE Dieser...

Detaillierte Erklärung der markierten Union-Typen in TypeScript 2.0

Inhaltsverzeichnis Erstellen von Zahlungsmethoden...

Gespeicherte MySQL-Prozeduren und allgemeine Funktionscodeanalyse

Das Konzept der gespeicherten MySQL-Prozedur: Ein...

Gemeinsame Nutzung verschiedener Methoden zum Deaktivieren des Seitencaches

Heute bin ich beim Entwickeln auf eine Methode ge...