Mysql
 sql >> Datenbank >  >> RDS >> Mysql

'max_user_connections' auf 200 gesetzt - immer noch Fehlermeldung

Was Ihr "Max. Verbindungen"-Problem angeht, könnte es eines von drei Dingen sein:

1) Der Server hat bereits zu viele offene Verbindungen. Ein MySQL-Server kann nur eine bestimmte Anzahl offener Verbindungen verarbeiten, bevor er weitere ablehnt, und diese Grenze wird von allen Benutzern des Servers geteilt. Es ist normalerweise ziemlich hoch eingestellt, obwohl es für jemanden leicht möglich ist, einen MySQL-Server effektiv zu doSen, indem er viele Verbindungen herstellt (aber siehe unten)

2) Ihr Benutzerkonto hat eine begrenzte Anzahl von Verbindungen pro Stunde – alle weiteren Verbindungen innerhalb dieser Stunde werden abgelehnt. Dies wird pro Benutzer festgelegt.

3) Ihr Benutzerkonto hat eine begrenzte Anzahl zulässiger offener Verbindungen - alle weiteren Verbindungen werden abgelehnt. Dies wird pro Benutzer festgelegt.

Es ist immer wichtig, die Fehlermeldung zu lesen, die Sie beim Verbindungsversuch erhalten, da dies in den meisten Fällen den genauen Grund für den Fehler aufzeigt.

Wenn Ihr Konto eine maximale Anzahl von Verbindungen hat (Szenario Nr. 3), lautet der Fehler:Code:

ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_user_connections' resource (current value: 1) 

Wobei „mysqldba“ Ihr Benutzername wäre und der „aktuelle Wert“ die maximale Anzahl offener Verbindungen ist, die von diesem Benutzer zugelassen werden.

Wenn Ihr Konto eine maximale Anzahl von Verbindungen pro Stunde hat (Szenario Nr. 2), lautet der Fehler:Code:

ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_connections_per_hour' resource (current value: 1) 

Wobei 'mysqldba' wieder Ihr Benutzername wäre und der 'aktuelle Wert' die maximale Anzahl an Verbindungen pro Stunde ist, die diesem Benutzer erlaubt ist.

Wenn Sie die Fehlermeldung (Code 1040) erhalten, die darauf hinweist, dass der gesamte MySQL-Server keine Verbindungsslots mehr hat - dies ist das oben erwähnte DoS-Szenario.

Was können Sie dagegen tun? Nach dem, was Sie gesagt haben, haben Sie auf diesem Server keine Superuser-Rechte, also nichts, außer sich bei dem für diesen Server zuständigen SysAdmin zu beschweren. Sie könnten die maximal zulässige Anzahl von Verbindungen erhöhen, was das Problem kurzfristig lösen könnte, aber wenn jemand anderes, der den Server verwendet, eine dumme Anzahl von Datenbankverbindungen erstellt, würden sich die Slots einfach wieder füllen. Was sie wahrscheinlich tun sollten, ist, auch ein maximales Limit für offene Verbindungen pro Benutzer durchzusetzen - dies würde die starken Benutzer daran hindern, den Server zu verstopfen. In einer Situation mit gemeinsam genutzten Servern wie der Ihren wäre dies am sinnvollsten - "Power-User" würden/sollten ihren eigenen Server haben oder könnten/sollten dafür bezahlen, ihre maximal offenen Verbindungen zu erhöhen.