Index
Aféierung zum MySQL Feeler: Ze vill Verbindungen
Wann Dir eng Webapplikatioun hutt (Site, Blog, Forum, asw.) Déi héich gefuerdert ass, dat ass, datt eng grouss Zuel vu Benotzer besicht, iwwersetzt dëst sech an e verstäerkte Verbrauch um Server. Wa gesot Web App eng MySQL Datebank benotzt an d'Ufroe si wierklech vill (wéinst enger schlechter Programméierung vum Internet oder vu ville Benotzer déi de Internet benotzen), et ass eng Méiglechkeet datt MySQL dëse Feeler weist:
mysqli_connect(): (HY000/1040): Too many connections
Wat heescht de MySQL: Ze vill Connections Feeler?
Et heescht datt ze vill Ufroen op MySQL kommen, méi wéi et akzeptéiere kann, méi wéi et ka stoen oder waarden.
Wéi léist een et?
Einfach, mir mussen déi maximal Limit vun Ufroen (Verbindungen) erhéijen déi MySQL ënnerstëtzt.
Ech ginn Iech zwou Optiounen fir dëst Problem ze fixéieren:
1. Mir änneren d'Datei /etc/mysql/my.cfg:
nano /etc/mysql/my.cfg
An et setzen mir folgend ënner wou et seet [mysql]:
max_connections = 500 max_user_connections = 500
Dëst wäert d'maximal Unzuel u Verbindunge vun 100 erhéijen (wat de Standard ass) op 500.
Mir späicheren a raus, da starten mir de MySQL Service neu an dat ass et. Dës Ännerung ass permanent.
2. Eng aner Manéier fir dëst Problem ze léisen ass d'maximal Limit gläich ze änneren, awer duerch eng MySQL Ufro.
Loosst eis als éischt déi aktuell Limit weisen:
mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'
Dëst wäert eis sou eppes weisen:
+ ----------------- + ------- + | Variabel_numm | Wäert | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +
An anere Wierder, déi aktuell Limit ass 151 Verbindungen, gutt, loosst eis et op 500 duerch eng Ufro erhéijen:
mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'
Prett!
De Problem op dës Manéier ass datt wann de Service neu gestart gëtt, dës Konfiguratioun verluer ass.
Fir dësen Detail ze liwweren kënnt Dir e Bash Skript maachen dat all X Kéier verifizéiert, oder souguer d'Linn an de Start- oder Neistartblock vum Daemon bäifügen 😉
Awer firwat wëll ech dës 2. Optioun wëssen? ... gutt, dat war wat ech fréier gesot hunn. Awer virun engem Mount huet en Ubuntu Server d'Method No.1 ignoréiert, also ... an extremen Fäll vun dommen OS, hu mir dës 2. Optioun déi genau sou gutt funktionnéiert 😉
6 Kommentaren, loosst ären
Gutt Post, MySql ... si benotze vill am FreeBSD, ... .KZKG ^ Gaara?, ... Et wier gutt wann Dir e Post maacht, wéi Dir MySql an FreeBSD installéiere wëllt a konfiguréiere wéi: SSH (sécher - Shell), SSH (via Web), SFTP (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 a PhpSysInfo Extensions.
Fir dëst ze maachen, muss ech FreeBSD installéieren, ech denken net datt ech elo d'Zäit hunn, ech hunn just Aarbechtsplaz gewiesselt an ech hu vill nei Responsabilitéiten responsibilities
Ech hu viru kuerzem eppes ähnleches fir e Projet mat nodejs misse maachen. A mengem Fall ass et op 250 eropgaang an dat war genuch, fir elo geet et mir gutt. Merci fir d'Informatioun
Moien, kënnt Dir mir hëllefen wéi /etc/mysql/my.cfg aginn?
Ech hunn e VPS, awer ech kann net mat PUTTY erakommen.
Merci.
Fir de Problem vun der Option 1. ze léisen - Kommentéiert Optioun, an d'Ännerunge behalen beim Restart vum Server, muss d'Datei no der Versioun geännert ginn:
////////////////////////////////////////////////////// //////////////////////
// Ech änneren den Directoire zu Ubuntu 16.04 ////////////////////////
////////////////////////////////////////////////////// //////////////////////
Ech hunn /etc/mysql/mysql.conf.d/mysqld.cnf gesinn
////////////////////////////////////////////////////// //////////////////////
// Ech änneren den Directoire zu Ubuntu 15.04 ////////////////////////
////////////////////////////////////////////////////// //////////////////////
vi /etc/mysql/mariadb.conf.d/mysqld.cnf
////////////////////////////////////////////////////// //////////////////////
// Ech änneren de Verzeechnes an Ubuntu al ////////////////////////
////////////////////////////////////////////////////// //////////////////////
Ech hunn /etc/mysql/my.cnf
////////////////////////////////////////////////////// //////////////////////
// füügt dës Zeil ënner dem [mysqld] oder [mysql] Tag //
// Dann de Server neu starten //
////////////////////////////////////////////////////// //////////////////////
max_connections = 500
Tutorial vu Null un zu kengem Moment seet Iech wéi Dir et ännere kënnt