Řešením je upravit /etc/mysql/my.cnf a přidat následující řádek: set-proměnná = max_connections=500
Nebo přidejte parametr max_connections=500 do příkazu startování Jde o úpravu maximálního počtu připojení a následné restartování mysql. Výchozí počet připojení je 100, což je příliš málo, takže je snadné dostat stejnou chybu. Zde jsou pokyny k mysql.com webu: Pokud při pokusu o připojení k serveru mysqld dostanete chybu Příliš mnoho připojení, znamená to, že všechna dostupná připojení jsou využívána jinými klienty.
Počet povolených připojení je řízen proměnnou max_connections systému. Jeho výchozí hodnota je 100. Pokud potřebujete podporovat více připojení, měli byste restartovat mysqld s větší hodnotou pro tuto proměnnou.
Mysqld skutečně umožňuje připojení klientů max_connections+1. Dodatečné připojení je vyhrazeno pro účty, které mají privilegium SUPER. Udělením SUPER privilegia administrátorům a ne běžným uživatelům (kteří by je neměli potřebovat), může se administrátor připojit k serveru a použít SHOW PROCESSLIST k diagnostice problémů, i když je připojen maximální počet neprivilegovaných klientů. Viz sekce 13.5.4.19, "ZOBRAZIT SYNTAXI PROCESSLIST".
Maximální počet připojení, která MySQL může podporovat, závisí na kvalitě knihovny vláken na dané platformě. Linux nebo Solaris by měly být schopné podporovat 500-1000 současných připojení, v závislosti na tom, kolik máte RAM a co dělají vaši klienti. Statické linuxové binárky poskytované MySQL AB mohou podporovat až 4000 připojení.
1. Může to být problém v nastavení Max Connections v MySQL 2. Může jít o více vložení, aktualizace neukončí relaci, a je potřeba nastavit podporu transakcí ve Springu. Rozlišení: 1. Upravit čas přestávky v tomcatu na 20 (není povinné) 2. Poskytovat transakční podporu pro velký objem zpracování vkládání nebo aktualizace do databáze.
=======================================
Tady je řešení:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Příliš mnoho spojení"
Příčina: Protože váš instalační adresář mysqlmy.iniPočet souběžných spojení nastavených v systému je příliš malý nebo je systém zaneprázdněný, což způsobuje, že počet spojení je plný Řešení: Otevřete instalační adresář MYSQL a MY.INI najděte max_connections (asi na řádku 93) je výchozí 100. Obecně je vhodnější nastavit ho na 500~1000, restartovat mysql, aby byla chyba 1040 vyřešena.
max_connections=1000
Nezapomeňte restartovat MYSQL, aby se to projevilo
CMD->
NET stop mysql
NET Start MySQL
Co se týče problému, že po změně innodb_log_file_size nelze spustit mysql
innodb_buffer_pool_size=768M innodb_log_file_size=256M innodb_log_buffer_size=8M innodb_additional_mem_pool_size=4M innodb_flush_log_at_trx_commit=0 innodb_thread_concurrency=20 Výše uvedené je předběžná optimalizace innodb enginu, zjistilo se, že při aktualizaci innodb_log_file_size=256M nastal problém, dokud byl tento engine přidán, nemohl se spustit.
Později jsem zjistil, že musím službu nejdřív ZASTAVIT a pak původní soubor smazat......... Open /MySQL Server 5.5/data
Smaž ib_logfile0, ib_logfile1........ ib_logfilen Pak otevřete možnost a úspěšně ji spusťte.
|