Indeks
Introduksjon til MySQL-feilen: For mange tilkoblinger
Når du har en webapplikasjon (side, blogg, forum osv.) Som er i høy etterspørsel, det vil si et stort antall brukere besøker, betyr det økt forbruk på serveren. Hvis nettappen bruker en MySQL-database, og spørsmålene er veldig mange (på grunn av dårlig programmering av nettet eller av mange brukere som bruker nettet), er det en mulighet for at MySQL vil vise denne feilen:
mysqli_connect(): (HY000/1040): Too many connections
Hva betyr feilen MySQL: Too Many Connections?
Det betyr at for mange forespørsler kommer til MySQL, mer enn det kan akseptere, mer enn det kan stå i kø eller vente.
Hvordan løse det?
Enkelt, vi må øke den maksimale grensen for forespørsler (tilkoblinger) som MySQL støtter.
Jeg vil gi deg to alternativer for å løse dette problemet:
1. Vi redigerer filen /etc/mysql/my.cfg:
nano /etc/mysql/my.cfg
I den setter vi følgende under der det står [mysql]:
max_connections = 500 max_user_connections = 500
Dette vil øke det maksimale antallet tilkoblinger fra 100 (som er standard) til 500.
Vi lagrer og avslutter, så starter vi MySQL-tjenesten på nytt og det er det. Denne endringen er permanent.
2. En annen måte å løse dette problemet på er å endre maksimumsgrensen lik, men gjennom et MySQL-spørsmål.
La oss først vise den nåværende grensen:
mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'
Dette vil vise oss noe sånt som dette:
+ ----------------- + ------- + | Variabel_navn | Verdi | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +
Med andre ord er den nåværende grensen 151 tilkoblinger, vel, la oss heve den til 500 ved hjelp av et spørsmål:
mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'
Klar!
Problemet på denne måten er at når tjenesten startes på nytt, går denne konfigurasjonen tapt.
For å gi denne detaljene kan du lage et bash-skript som hver X-gang bekrefter, eller til og med legge til linjen i start- eller omstart-blokken til daemon
Men hvorfor vil jeg vite dette andre alternativet? ... vel, det var det jeg pleide å si. Men for en måned siden ignorerte en Ubuntu Server metode nr. 2, så ... i ekstreme tilfeller av dumt OS har vi dette andre alternativet som fungerer like bra well
6 kommentarer, legg igjen dine
Godt innlegg, MySql ... de bruker mye i FreeBSD, .... via web), SFTP (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 og PhpSysInfo Extensions.
For dette måtte jeg installere FreeBSD, jeg tror ikke jeg har tid akkurat nå, jeg har bare byttet jobb og jeg har mange nye ansvarsoppgaver 🙁
Jeg måtte nylig gjøre noe lignende for et prosjekt med nodejs. I mitt tilfelle økte det til 250, og det var nok, for nå har jeg det bra. Takk for informasjonen
Hei, kan du hjelpe meg med å skrive inn /etc/mysql/my.cfg?
Jeg har en VPS, men jeg kan ikke komme inn med PUTTY.
Hilsener.
For å løse problemet med alternativ 1. - Kommentert alternativ, og beholde endringene når du starter serveren på nytt, må filen redigeres i henhold til versjon:
////////////////////////////////////////////////// ////////////////////
// Jeg endrer katalogen i Ubuntu 16.04 ////////////////////////
////////////////////////////////////////////////// ////////////////////
Jeg så /etc/mysql/mysql.conf.d/mysqld.cnf
////////////////////////////////////////////////// ////////////////////
// Jeg endrer katalogen i Ubuntu 15.04 ////////////////////////
////////////////////////////////////////////////// ////////////////////
vi /etc/mysql/mariadb.conf.d/mysqld.cnf
////////////////////////////////////////////////// ////////////////////
// Jeg endrer katalogen i Ubuntu gammel ////////////////////////
////////////////////////////////////////////////// ////////////////////
Jeg så /etc/mysql/my.cnf
////////////////////////////////////////////////// ////////////////////
// legg til denne linjen under [mysqld] eller [mysql] -taggen //
// Start deretter serveren på nytt //
////////////////////////////////////////////////// ////////////////////
max_connections = 500
Opplæringen fra bunnen av på ingen tid forteller deg hvordan du endrer den