Pokud jde o váš problém s maximálním počtem připojení, může to být jedna ze tří věcí:
1) Server má již příliš mnoho otevřených připojení. Server MySQL může zpracovat pouze určitý počet otevřených připojení, než odmítne povolit další, a tento limit je sdílen mezi všemi uživateli serveru. Obvykle je nastavena poměrně vysoko, i když pro někoho je snadno možné efektivně DoS server MySQL vytvořením mnoha připojení (ale viz níže)
2) Váš uživatelský účet má omezený počet povolených připojení za hodinu – jakákoli další připojení během této hodiny budou odmítnuta. Toto je nastaveno na základě jednotlivých uživatelů.
3) Vaše uživatelské účty mají omezený počet povolených otevřených připojení – jakákoli další připojení budou odmítnuta. Toto je nastaveno na základě jednotlivých uživatelů.
Vždy je důležité přečíst si chybovou zprávu, která se vám vrátí při pokusu o připojení, protože ve většině případů to určí přesný důvod selhání.
Pokud má váš účet limit maximálního počtu připojení (scénář č. 3), chyba by byla:Kód:
ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_user_connections' resource (current value: 1)
Kde 'mysqldba' by bylo vaše uživatelské jméno a 'aktuální hodnota' je maximální počet otevřených připojení povolených od tohoto uživatele.
Pokud má váš účet limit maximálního počtu připojení za hodinu (scénář č. 2), chyba by byla:Kód:
ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_connections_per_hour' resource (current value: 1)
Kde, znovu, 'mysqldba' by bylo vaše uživatelské jméno a 'aktuální hodnota' je maximální počet připojení za hodinu povolený tomuto uživateli.
Pokud se vám zobrazí chybová zpráva (kód 1040), znamená to, že celému serveru MySQL došly připojovací sloty – toto je scénář DoS, který zmiňuji výše.
co s tím můžete dělat? Z toho, co jste řekl, nemáte na tomto serveru oprávnění superuživatele, takže nic, kromě stížnosti SysAdmin odpovědnému za tento server. Mohou zvýšit maximální povolený počet připojení, což by mohlo problém krátkodobě vyřešit, ale pokud někdo jiný používající server vytváří hloupý počet databázových připojení, sloty by se znovu zaplnily. Co by pravděpodobně měli udělat, je také vynutit maximální otevřený limit připojení na uživatele – to by zastavilo těžké uživatele zahlcování serveru. V situaci sdíleného serveru, jako je ten váš, by to dávalo největší smysl – „výkonní uživatelé“ by měli/měli mít svůj vlastní server nebo by mohli/měli platit za zvýšení maximálního počtu otevřených připojení.