Riešením je upraviť /etc/mysql/my.cnf a pridať nasledujúci riadok: set-premenná = max_connections=500
Alebo pridať parameter max_connections=500 do príkazu na spustenie Ide o úpravu maximálneho počtu pripojení a následné reštartovanie mysql. Predvolený počet pripojení je 100, čo je príliš málo, takže je ľahké dostať rovnakú chybu. Tu sú návody na mysql.com webovú stránku: Ak pri pokuse o pripojenie k serveru mysqld dostanete chybu Príliš veľa pripojení, znamená to, že všetky dostupné pripojenia využívajú aj iní klienti.
Počet povolených pripojení je riadený max_connections systémovou premennou. Jeho predvolená hodnota je 100. Ak potrebujete podporiť viac pripojení, mali by ste reštartovať mysqld s vyššou hodnotou pre túto premennú.
Mysqld vlastne umožňuje pripojenie klientom max_connections+1. Dodatočné pripojenie je vyhradené pre účty, ktoré majú SUPER privilegium. Udelením privilégia SUPER administrátorom a nie bežným používateľom (ktorí by ho nemali potrebovať), môže sa administrátor pripojiť k serveru a použiť SHOW PROCESSLIST na diagnostiku problémov, aj keď maximálny počet neprivilegovaných klientov je pripojený. Pozri sekciu 13.5.4.19, "ZOBRAZIŤ SYNTAX PROCESSLIST".
Maximálny počet pripojení, ktoré MySQL dokáže podporiť, závisí od kvality knižnice vlákien na danej platforme. Linux alebo Solaris by mali podporovať 500-1000 súčasných pripojení, v závislosti od toho, koľko máte RAM a čo robia vaši klienti. Statické linuxové binárky poskytované MySQL AB môžu podporovať až 4000 pripojení.
1. Môže to byť problém v nastaveniach Max Connections v MySQL 2. Môže ísť o viacero vkladaní a aktualizácia neukončí reláciu, takže je potrebné nastaviť podporu transakcií v Springu. Rozlíšenie: 1. Upraviť čas prestávky v tomcat na 20 (nie je povinné) 2. Poskytovať podporu transakcií pri veľkom objeme spracovania operácií vkladania alebo aktualizácie databázy.
=======================================
Tu je riešenie:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Príliš veľa spojení"
Príčina: Pretože váš inštalačný adresár mysqlmy.iniPočet súbežných pripojení v systéme je príliš malý alebo je systém zaneprázdnený, čo spôsobuje, že počet spojení je plný Riešenie: Otvorte inštalačný adresár MYSQL a MY.INI nájdite max_connections (približne na riadku 93) je predvolená hodnota 100. Vo všeobecnosti je vhodnejšie nastaviť ju na 500~1000, reštartovať mysql, aby sa chyba 1040 vyriešila.
max_connections=1000
Nezabudnite reštartovať MYSQL, aby sa to prejavilo
CMD->
NET Stop MySQL
NET Start MySQL
Čo sa týka problému, že po zmene innodb_log_file_size nemôžem spustiť 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 Vyššie uvedené je predbežná optimalizácia innodb enginu, zistilo sa, že pri aktualizácii innodb_log_file_size=256M nastal problém, pokiaľ bol tento engine pridaný, nemohol sa spustiť.
Neskôr som zistil, že som musel najprv službu ZASTAVIŤ a až potom vymazať pôvodný súbor......... Open /MySQL Server 5.5/data
Vymaž ib_logfile0, ib_logfile1........ ib_logfilen Potom otvor možnosť a úspešne ju spusti.
|