Aprobat de cei mai buni programatori ruși


DATELOR (datadir). În el, se așteaptă să găsească fișiere log, fișiere pid (ID-uri de proces) și baza de date în sine.

Locația directorului de date este împărțită în timpul compilării distribuției. Cu toate acestea, în cazul în care mysqld se așteaptă să găsească directorul de date în altă parte, dar nu și în cazul în care într-adevăr este pe sistemul dvs., daemon mysqld nu funcționează corect. Dacă există probleme cu căile greșite, atunci apelați mysqld cu opțiunea --help. puteți găsi informații despre ce permite opțiunile mysqld și setările pentru căile implicite. Aveți posibilitatea să înlocuiți setările implicite prin specificarea corectă a denumirilor de căi ca argumente mysqld pe linia de comandă (aceste opțiuni pot fi de asemenea utilizate cu safe_mysqld).

De obicei, mysqld este necesar numai pentru directorul în care MySQL este instalat. Acest lucru se poate face cu opțiunea --basedir. De asemenea, puteți utiliza --help pentru a testa efectul schimbării opțiunilor căii (rețineți că --help ar trebui să fie ultima opțiune din comanda mysqld). De exemplu:

După ce stabiliți setările de cale necesare, porniți serverul fără opțiunea --help.

Indiferent de metoda pe care o utilizați pentru a porni serverul, în cazul în care pornirea nereușită este finalizată corect, verificați fișierul jurnal pentru a afla de ce nu reușește pornirea. Fișierele log sunt localizate în directorul de date (de obicei, `/ usr / local / mysql / date 'pentru o distribuție binară,` / usr / local / var' pentru o distribuție sursă, și `\ mysql \ date \ mysql.err„sub Windows). În directorul de date, căutați fișiere cu nume în formularul "host_name.err" și "host_name.log". unde host_name este numele gazdei dvs. de server. Apoi, verificați ultimele câteva linii ale acestor fișiere:

În fișierul jurnal, trebuie să căutați ceva de genul:

Aceasta înseamnă că nu ați început mysqld -bdb-no-recupera și baza de date Berkeley DB a găsit ceva greșit în fișierele jurnal atunci când încearcă să vă restabilească bazele de date. Pentru a putea continua, trebuie să mutați vechiul fișier jurnal Berkeley DB din directorul bazei de date în altă locație unde îl puteți învăța mai târziu. Fișierele log au numele "log.0000000001", etc; numărul crește de fiecare dată când porniți.

Dacă rulați mysqld rulează cu suport pentru tabele BDB și mysqld la pornire afișează un dump de bază (coredump), atunci acest lucru se poate datora oricărei probleme cu jurnalul de reparații BDB. În acest caz, puteți încerca să începeți mysqld cu --bdb-no-recover. Dacă acest lucru vă ajută, trebuie să ștergeți toate fișierele `log. * 'Din directorul de date și să încercați din nou să executați mysqld.

Dacă primiți următoarea eroare, înseamnă că un alt program (sau un alt server mysqld) utilizează deja acest port sau soclu TCP / IP pe care mysqld încearcă să asculte:

Pentru a verifica dacă nu există niciun alt server mysqld de lucru, utilizați ps. Dacă nu se găsește niciun alt server de lucru, puteți încerca telnet-host-name tcp-ip-port-number și apăsați tasta Enter de câteva ori. Dacă nu primiți un mesaj de eroare cum ar fi următorul telnet: Imposibil de conectat la gazdă la distanță: Conexiunea a fost refuzată. înseamnă că portul TCP / IP pe care mysqld încearcă să îl utilizează este deja ocupat de un alt program. secțiunea 2.4.1 Probleme la rularea mysql_install_db și secțiunea Vezi secțiunea 4.1.4 Rularea mai multor servere MySQL pe același computer.

Dacă mysqld rulează în prezent, puteți găsi setările căii utilizând următoarea comandă:

Dacă safe_mysqld pornește serverul, dar nu vă puteți conecta la acesta, trebuie să vă asigurați că `/ etc / hosts 'are o intrare care arată cam așa:

Această problemă apare numai la sistemele care nu au o bibliotecă de fire de lucru și pentru care MySQL ar trebui să fie configurat să utilizeze fluxurile MIT-pthreads.

Dacă nu puteți începe mysqld. atunci puteți încerca să creați un fișier de urmărire pentru a detecta această problemă. Vezi secțiunea E.1.2 Crearea fișierelor de urmărire.

Când se utilizează tabele InnoDB, trebuie să specificați opțiunile de pornire specifice pentru InnoDB. Vezi paragraful 7.5.2 Parametrii de pornire InnoDB.

Când se utilizează tabelele BDB (Berkeley DB), este necesar să se cunoască bine diferitele opțiuni de pornire specifice BDB-ului. Vezi secțiunea 7.6.3 Parametrii de pornire BDB.

MySQL.RU. Aprobat de cei mai buni programatori ruși