De oplossing is om /etc/mysql/my.cnf te wijzigen en de volgende regel toe te voegen: setvariabele = max_connections=500
Of voeg de parameter max_connections=500 toe aan het opstartcommando Het is om het maximale aantal verbindingen te wijzigen en vervolgens MySQL opnieuw te starten. Het standaardaantal verbindingen is 100, wat te weinig is, dus het is makkelijk om dezelfde foutmelding te krijgen. Hier zijn de instructies voor mysql.com website: Als je een foutmelding 'Te veel verbindingen' krijgt wanneer je probeert verbinding te maken met de mysqld-server, betekent dit dat alle beschikbare verbindingen door andere clients worden gebruikt.
Het aantal toegestane verbindingen wordt geregeld door de max_connections systeemvariabele. De standaardwaarde is 100. Als je meer verbindingen wilt ondersteunen, moet je Mysqld opnieuw opstarten met een hogere waarde voor deze variabele.
Mysqld maakt het mogelijk om max_connections+1 clients te verbinden. De extra verbinding is gereserveerd voor gebruik door accounts die het SUPER-privilege hebben. Door het SUPER-privilege aan beheerders toe te kennen en niet aan gewone gebruikers (die het eigenlijk niet nodig zouden moeten hebben), kan een beheerder verbinding maken met de server en SHOW PROCESSLIST gebruiken om problemen te diagnosticeren, zelfs als het maximale aantal niet-privilegede clients is verbonden. Zie sectie 13.5.4.19, "SHOW PROCESSLIST Syntax".
Het maximale aantal verbindingen dat MySQL kan ondersteunen hangt af van de kwaliteit van de threadbibliotheek op een bepaald platform. Linux of Solaris zou 500-1000 gelijktijdige verbindingen moeten kunnen ondersteunen, afhankelijk van hoeveel RAM je hebt en wat je clients doen. Statische Linux-binaries die door MySQL AB worden geleverd, kunnen tot 4000 verbindingen ondersteunen.
1. Het kan een probleem zijn met de Max Connections-instellingen van MySQL 2. Het kan meerdere inserts zijn, en de update-operatie sluit de sessie niet, en je moet transactieondersteuning in spring configureren. Resolutie: 1. Pas de time-out van de sessie in Tomcat aan naar 20 (niet verplicht) 2. Bied transactieondersteuning voor een groot verwerkingsvolume van database-insert- of update-operaties.
=======================================
Hier is de oplossing:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Te veel verbindingen"
Oorzaak: Omdat je MySQL-installatiemapmy.iniHet aantal gelijktijdige verbindingen in het systeem is te klein of het systeem is bezet, waardoor het aantal verbindingen vol is Oplossing: Open de MYSQL-installatiemap en open MY.INI zoek de max_connections (rond regel 93) de standaard is 100. Over het algemeen is het beter om deze op 500~1000 te zetten, MySQL opnieuw te starten, zodat de 1040-fout wordt opgelost.
max_connections=1000
Zorg ervoor dat je MYSQL opnieuw start zodat het effect heeft
CMD->
Net Stop MySQL
NetStart MySQL
Wat betreft het probleem dat je MySQL niet kunt starten na het wijzigen van de innodb_log_file_size
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 Bovenstaande is de voorlopige optimalisatie van de innodb-engine; men ontdekte dat er een probleem was bij het updaten van innodb_log_file_size=256M; zolang deze werd toegevoegd, kon hij niet starten.
Later kwam ik erachter dat ik eerst de dienst moest STOPPEN en daarna het originele bestand moest verwijderen......... Open /MySQL Server 5.5/data
Verwijder ib_logfile0, ib_logfile1........ ib_logfilen Open dan de optie en start het succesvol.
|