Index
Introduktion til MySQL-fejlen: For mange forbindelser
Når du har en webapplikation (site, blog, forum osv.), Der er meget efterspurgt, dvs. et stort antal brugere besøger, betyder det øget forbrug på serveren. Hvis nævnte webapp bruger en MySQL-database, og forespørgslerne er virkelig mange (på grund af dårlig programmering af internettet eller af mange brugere, der bruger internettet), er der en mulighed for, at MySQL viser denne fejl:
mysqli_connect(): (HY000/1040): Too many connections
Hvad betyder MySQL: For mange forbindelsesfejl?
Det betyder, at der kommer for mange anmodninger til MySQL, mere end det kan acceptere, mere end det kan stå i kø eller vente.
Hvordan løses det?
Enkelt, vi skal øge den maksimale grænse for anmodninger (forbindelser), som MySQL understøtter.
Jeg giver dig to muligheder for at løse dette problem:
1. Vi redigerer filen /etc/mysql/my.cfg:
nano /etc/mysql/my.cfg
I det sætter vi følgende under hvor det står [mysql]:
max_connections = 500 max_user_connections = 500
Dette øger det maksimale antal forbindelser fra 100 (som er standard) til 500.
Vi gemmer og afslutter, derefter genstarter vi MySQL-tjenesten, og det er det. Denne ændring er permanent.
2. En anden måde at løse dette problem er at ændre den maksimale grænse lig, men gennem en MySQL-forespørgsel.
Lad os først vise den aktuelle grænse:
mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'
Dette vil vise os noget som dette:
+ ----------------- + ------- + | Variabel_navn | Værdi | + ----------------- + ------- + | max_forbindelser | 151 | + ----------------- + ------- +
Med andre ord er den nuværende grænse 151 forbindelser, ja, lad os hæve den til 500 ved hjælp af en forespørgsel:
mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'
Klar!
Problemet på denne måde er, at når konfigurationen genstartes, går konfigurationen tabt.
For at levere denne detalje kan du oprette et bash-script, der verificerer hver X-gang, eller endda tilføje linjen til start- eller genstartblokken for dæmonen 😉
Men hvorfor vil jeg så kende denne anden mulighed? ... ja, det var det, jeg plejede at sige. Men for en måned siden ignorerede en Ubuntu Server metode nr. 2, så ... i ekstreme tilfælde af fjollet OS har vi denne 1. mulighed, der fungerer lige så godt 😉
6 kommentarer, lad dine
Godt indlæg, MySql… de bruger meget i FreeBSD, .... (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 og PhpSysInfo Extensions.
Til dette bliver jeg nødt til at installere FreeBSD, jeg tror ikke jeg har tid lige nu, jeg har lige skiftet job og jeg har mange nye ansvarsområder 🙁
Jeg var for nylig nødt til at gøre noget lignende til et projekt med nodejs. I mit tilfælde steg det til 250, og det var nok, for nu har jeg det fint. Tak for oplysningerne
Hej, kan du hjælpe mig med at indtaste /etc/mysql/my.cfg?
Jeg har en VPS, men jeg kan ikke komme ind med PUTTY.
Greetings.
For at løse problemet med Option 1. - Kommenteret mulighed og beholde ændringerne, når du genstarter serveren, skal filen redigeres i henhold til version:
////////////////////////////////////////////////// ////////////////////
// Jeg ændrer biblioteket i Ubuntu 16.04 ////////////////////////
////////////////////////////////////////////////// ////////////////////
Jeg så /etc/mysql/mysql.conf.d/mysqld.cnf
////////////////////////////////////////////////// ////////////////////
// Jeg ændrer biblioteket i Ubuntu 15.04 ////////////////////////
////////////////////////////////////////////////// ////////////////////
vi /etc/mysql/mariadb.conf.d/mysqld.cnf
////////////////////////////////////////////////// ////////////////////
// Jeg ændrer biblioteket i Ubuntu gamle ////////////////////////
////////////////////////////////////////////////// ////////////////////
Jeg så /etc/mysql/my.cnf
////////////////////////////////////////////////// ////////////////////
// tilføj denne linje under [mysqld] eller [mysql] tag //
// Genstart derefter serveren //
////////////////////////////////////////////////// ////////////////////
max_forbindelser = 500
Vejledning fra bunden på ingen tid fortæller dig, hvordan du ændrer den