MySQL Error – The Server Quit Without Updating PID File
Eroarea “The server quit without updating PID file” apare de obicei atunci când MySQL nu pornește corect sau se închide în mod neașteptat. Fișierul PID (Process ID) este un fișier mic utilizat de MySQL pentru a ține evidența ID-ului său de proces și este stocat de obicei în directorul de date MySQL. Atunci când MySQL nu poate crea sau actualiza acest fișier, poate indica o problemă cu configurația, permisiunile sau alte probleme subiacente.
Iată un ghid pentru depanarea și remedierea acestei erori:
Cauze comune ale erorii
- Configurație MySQL incorectă: Erorile din fișierul de configurare my.cnf pot cauza eșecul pornirii MySQL.
- Permisiuni pentru fișiere și directoare: Proprietate sau permisiuni incorecte pe directoarele sau fișierele de date MySQL.
- Probleme de spațiu pe disc: Un disc plin sau un spațiu limitat pe partiția unde este instalat MySQL poate împiedica pornirea MySQL.
- Tabele MySQL corupte: Corupția în fișierele de date MySQL poate duce, de asemenea, la probleme de pornire.
- Instanțe multiple: Dacă mai multe instanțe MySQL sau MariaDB încearcă să ruleze simultan, acestea pot intra în conflict unele cu altele.
Soluție pas cu pas pentru eroare
- Verificați jurnalul de erori MySQLJurnalul de erori oferă adesea cele mai multe informații despre motivul pentru care MySQL nu a reușit să pornească. Localizați jurnalul de erori MySQL (de obicei mysql.err sau mysqld.log):
cat /var/log/mysql/error.log
Căutați orice erori sau mesaje specifice care indică motivul pentru care MySQL s-a oprit.
- Verificați locația fișierului PIDMesajul de eroare menționează locația fișierului PID. Verificați dacă directorul fișierului PID există și dacă MySQL are permisiunea de a scrie în el. Verificați fișierul de configurare my.cnf pentru a găsi locația așteptată a fișierului PID:
sudo nano /etc/mysql/my.cnf
Căutați o linie de genul:
pid-file = /var/run/mysqld/mysqld.pid
Asigurați-vă că directorul există:
sudo mkdir -p /var/run/mysqld
Setați proprietatea corespunzătoare:
sudo chown mysql:mysql /var/run/mysqld
- Verificați permisiunile pentru fișiere și directoareAsigurați-vă că MySQL are proprietatea și permisiunile corecte pentru directorul de date și fișierele sale:
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql
Acest lucru acordă permisiuni de citire și scriere MySQL pentru propriul director de date.
- Asigurați spațiu suficient pe discVerificați dacă există suficient spațiu liber pe partiția unde este instalat MySQL:
df -h
Dacă discul este plin, este posibil să fie necesar să eliberați spațiu înainte de a reporni MySQL.
- Verificați dacă există mai multe instanțeDacă rulează o altă instanță MySQL sau MariaDB, aceasta poate cauza conflicte. Opriți orice instanță care rulează:
sudo systemctl stop mysql
sudo systemctl stop mariadb
Opriți toate procesele MySQL rămase:
sudo killall -9 mysqld
- Repararea tabelelor MySQLDacă jurnalul de erori indică coruperea tabelelor, încercați să reparați tabelele:
sudo mysqlcheck --all-databases --repair --user=root --password
Înlocuiți root cu numele dvs. de utilizator MySQL.
- Rezolvarea problemelor de configurare MySQLDacă există probleme cu fișierul de configurare my.cnf, încercați să comentați liniile problematice sau reveniți la configurația implicită.Faceți o copie de rezervă a fișierului my.cnf curent:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backup
Comentați sau eliminați setările personalizate și reporniți MySQL:
sudo nano /etc/mysql/my.cnf
- Reporniți MySQLAdupă efectuarea modificărilor necesare, încercați să reporniți MySQL:
sudo systemctl restart mysql
Sau pentru sistemele care utilizează serviciul:
sudo service mysql restart
Verificați starea pentru a vă asigura că rulează:
sudo systemctl status mysql
- Reinstalați MySQL (ultima soluție)Dacă niciunul dintre pașii de mai sus nu funcționează, ca ultimă soluție, puteți încerca să reinstalați MySQL. Acest lucru poate duce la pierderea datelor dacă nu este disponibilă o copie de rezervă, așa că asigurați-vă că faceți o copie de rezervă a bazelor de date importante înainte de a continua:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
Apoi, reinstalați MySQL:
sudo apt-get install mysql-server
Concluzie
Eroarea “The server quit without updating PID file” poate fi rezolvată prin verificarea fișierelor de configurare, verificarea permisiunilor, asigurarea unui spațiu suficient pe disc și corectarea oricăror conflicte subiacente. Urmând pașii de mai sus, ar trebui să puteți identifica cauza erorii și să vă puneți serverul MySQL din nou în funcțiune. Amintiți-vă întotdeauna să vă salvați bazele de date înainte de a face modificări majore sau de a reinstala MySQL pentru a evita pierderea datelor.