A megoldás az, hogy módosítsuk az /etc/mysql/my.cnf fájlt, és hozzáadod a következő sort: set-változó = max_connections=500
Vagy hozzáadhatod a max_connections=500 paramétert az indítási parancshoz Ez a maximális kapcsolatszám módosítása, majd a mysql újraindítása. Az alapértelmezett kapcsolatszám 100, ami túl kevés, így könnyű ugyanazt a hibát kapni. Íme az útmutató mysql.com weboldalhoz: Ha a mysqld szerverhez való csatlakozáskor "Túl sok kapcsolat" hibát kapsz, az azt jelenti, hogy minden elérhető kapcsolatot más kliens használ.
A megengedett kapcsolatok számát a max_connections rendszerváltozó szabályozza. Az alapértelmezett értéke 100. Ha több kapcsolatot kell támogatnod, érdemes újraindítani a mysqld-t nagyobb értékkel ehhez a változóhoz.
A MySQL valójában lehetővé teszi, hogy max_connections+1 kliens csatlakozzon. Az extra kapcsolatot a SUPER jogosultsággal rendelkező fiókok számára tartják fenn. Azáltal, hogy a SUPER jogosultságot adják az adminisztrátoroknak, nem a normál felhasználóknak (akiknek nem kellene rá szükségük), az adminisztrátor csatlakozhat a szerverhez, és a SHOW PROCESSLIST segítségével diagnosztizálhatja a problémákat, még akkor is, ha a legtöbb jogtalan klienshez van csatlakoztatva. Lásd a 13.5.4.19. szakaszt, "FOLYAMATLISTA MEGJELENÍTÉSE szintaxis".
A MySQL által támogatható maximális kapcsolat a adott platformon a szálkönyvtár minőségétől függ. A Linux vagy a Solaris 500-1000 egyidejű kapcsolatot támogatni kellene, attól függően, mennyi RAM-od van és mit csinálnak a klienseid. A MySQL AB által biztosított statikus Linux binárisok akár 4000 kapcsolatot is támogathatnak.
1. Lehet, hogy a MySQL Max Connections beállításaival is gond van 2. Lehet, hogy több behelyezésről van szó, és a frissítési művelet nem zárja le a játékmenetet, ezért tavasszal be kell állítani a tranzakció támogatását. Felbontás: 1. Módosítsd a tomcat ülésének időkorlát idejét 20-ra (nem kötelező) 2. Tranzakciós támogatást nyújtson nagy mennyiségű adatbázis-beillesztési vagy frissítési műveletekhez.
=======================================
Íme a megoldás:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Túl sok kapcsolat"
Ok: Mert a mysql telepítési könyvtárodmy.iniA rendszerben beállított párhuzamos kapcsolatok száma túl kicsi, vagy a rendszer foglalt, így a kapcsolatok száma megtelt lesz Megoldás: Nyisd meg a MYSQL telepítési könyvtárat, és nyisd meg MY.INI a max_connections (kb. 93. soron), az alapértelmezett 100. Általában inkább 500~1000-re állítod, újraindítod a mysql-t, hogy a 1040-es hiba megoldódjon.
max_connections=1000
Mindenképp indítsd újra a MYSQL-t, hogy hatnivalóra lépjen
CMD->
NET STOP MySQL
NET Start MySQL
Ami azt a problémát illeti, hogy a mysql-t nem tudom elindítani a 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 A fentiek az innodb motor előzetes optimalizálása, kiderült, hogy probléma volt a innodb_log_file_size=256M frissítéskor, amíg ezt hozzáadták, nem tudott elindulni.
Később rájöttem, hogy először le kell állítani a szolgáltatást, majd törölni az eredeti fájlt......... Open /MySQL Server 5.5/data
Töröld ib_logfile0, ib_logfile1........ ib_logfilen Ezután nyisd meg az opciót, és sikeresen indítsd el.
|