Løsningen er å endre /etc/mysql/my.cnf og legge til følgende linje: mengdevariabel = max_connections=500
Eller legg til parameteren max_connections=500 til oppstartskommandoen Det er å endre maksimalt antall tilkoblinger, og deretter starte MySQL på nytt. Standardantallet tilkoblinger er 100, noe som er for få, så det er lett å få samme feil. Her er instruksjonene for mysql.com nettside: Hvis du får en feilmelding om for mange tilkoblinger når du prøver å koble til mysqld-serveren, betyr det at alle tilgjengelige tilkoblinger er i bruk av andre klienter.
Antall tillatte tilkoblinger styres av den max_connections systemvariabelen. Standardverdien er 100. Hvis du trenger å støtte flere tilkoblinger, bør du starte mysqld på nytt med en høyere verdi for denne variabelen.
MySQLD lar faktisk max_connections+1 klienter koble til. Den ekstra tilkoblingen er reservert for bruk av kontoer som har SUPER-privilegiet. Ved å gi SUPER-privilegiet til administratorer og ikke til vanlige brukere (som ikke burde trenge det), kan en administrator koble til serveren og bruke SHOW PROCESSLIST for å diagnostisere problemer selv om det maksimale antallet uprivilegerte klienter er koblet til. Se seksjon 13.5.4.19, "VIS PROSESSLISTE-syntaks".
Det maksimale antallet tilkoblinger MySQL kan støtte, avhenger av kvaliteten på trådbiblioteket på en gitt plattform. Linux eller Solaris bør kunne støtte 500-1000 samtidige tilkoblinger, avhengig av hvor mye RAM du har og hva kundene dine gjør. Statiske Linux-binærfiler levert av MySQL AB kan støtte opptil 4000 tilkoblinger.
1. Det kan være et problem med MySQLS Max Connections-innstillinger 2. Det kan være flere innsettinger, og oppdateringsoperasjonen lukker ikke økten, og du må konfigurere transaksjonsstøtte i vår. Løsning: 1. Endre timeout-tiden for økten i Tomcat til 20 (ikke obligatorisk) 2. Gi transaksjonsstøtte for store prosesseringsmengder av databaseinnsettings- eller oppdateringsoperasjoner.
=======================================
Her er løsningen:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "For mange forbindelser"
Årsak: Fordi MySQL-installasjonsmappen dinmy.iniAntallet samtidige tilkoblinger i systemet er for lite, eller systemet er opptatt, noe som gjør at antallet tilkoblinger er fullt Løsning: Åpne MYSQL-installasjonsmappen og åpne MY.INI finne max_connections (omtrent linje 93) er standard 100. Generelt er det mer hensiktsmessig å sette den til 500~1000, starte MySQL på nytt, slik at 1040-feilen blir løst.
max_connections=1000
Sørg for å starte MYSQL på nytt for at det skal tre i kraft
CMD->
Net Stop MySQL
NetStart MySQL
Når det gjelder problemet med at man ikke kan starte MySQL etter å ha endret 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 Ovenstående er den foreløpige optimaliseringen av innodb-motoren, det ble funnet at det oppsto et problem ved oppdatering innodb_log_file_size=256M, så lenge dette ble lagt til, kunne den ikke starte.
Senere fant jeg ut at jeg måtte STOPPE tjenesten først, og deretter slette originalfilen......... Open /MySQL Server 5.5/data
Slett ib_logfile0, ib_logfile1........ ib_logfilen Deretter åpner du alternativet og starter det med suksess.
|