Sari la conținut

AcasăBlog › Cum gestionați bazele de date MySQL în cPanel

Cum gestionați bazele de date MySQL în cPanel

25 iunie 2025 · , specialist în servicii SEO din 2007 · cPanel

Cum gestionați bazele de date MySQL în cPanel

Cum gestionați bazele de date MySQL în cPanel: orice site dinamic (WordPress, magazin, aplicație) își ține conținutul într-o bază de date, iar cPanel oferă uneltele pentru a o crea, a-i da drepturi, a o copia, a o repara și a o optimiza fără linie de comandă. Ghidul parcurge fiecare operațiune, cu regulile de securitate pe care le aplicăm pe conturile clienților și cu erorile pe care le întâlnim cel mai des.

Pe majoritatea găzduirilor cPanel, serverul de baze de date este MariaDB (compatibil cu MySQL pentru aplicațiile obișnuite) sau MySQL 8; uneltele din panou sunt aceleași.

Cum gestionați bazele de date MySQL în cPanel

Uneltele

  • MySQL Databases: crearea bazelor și a utilizatorilor, acordarea drepturilor, verificarea și repararea tabelelor, ștergerea.
  • MySQL Database Wizard: aceleași operațiuni, în trei pași ghidați, pentru o aplicație nouă.
  • phpMyAdmin: interfața pentru conținut: tabele, interogări, export, import.
  • Remote MySQL: adresele IP care se pot conecta din afară.
  • Manage My Databases (pe versiunile recente): pagina unificată pentru toate de mai sus.

Crearea unei baze pentru o aplicație nouă

  1. MySQL Databases, Create New Database: scrieți numele (cPanel adaugă prefixul contului: cont_nume); Create.
  2. Add New User: nume (tot cu prefix), parolă generată, Create.
  3. Add User To Database: alegeți utilizatorul și baza, apoi drepturile: All Privileges pentru aplicația care o folosește.
  4. Notați numele bazei, utilizatorul, parola și gazda (localhost, de obicei) pentru fișierul de configurare al aplicației.

Regula: o bază și un utilizator per aplicație; un utilizator cu drepturi pe toate bazele înseamnă că o aplicație compromisă le vede pe toate. Numele bazei și al utilizatorului nu se pot schimba ușor după; alegeți-le cu sens (cont_magazin, cont_blog).

Drepturile

All Privileges pentru aplicația principală; pentru unelte externe (rapoarte, integrări) care doar citesc, un utilizator separat cu SELECT. Drepturile se modifică din MySQL Databases, Current Databases, clic pe utilizator. Parola unui utilizator se schimbă din Current Users, iar schimbarea trebuie făcută și în fișierul de configurare al aplicației, altfel site-ul afișează eroare de conectare imediat.

phpMyAdmin: conținutul bazei

Se deschide fără parolă, cu acces la toate bazele contului. Utilizările frecvente: exportul (fila Export, metoda Quick, format SQL, comprimat), importul (fila Import, fișier .sql sau .sql.gz, sub limita de dimensiune afișată), căutarea unui text în toată baza (fila Search), rularea unei interogări (fila SQL), verificarea dimensiunii tabelelor (pagina bazei, coloana Size). Pașii detaliați, cu limitele și erorile de import, sunt în ghidul despre importul și exportul prin phpMyAdmin. Modificările din phpMyAdmin sunt directe și fără anulare; exportați înainte de orice ștergere sau UPDATE.

Repararea și optimizarea

MySQL Databases, Current Databases: butoanele Check și Repair pe fiecare bază verifică și repară tabelele (utile pentru tabele MyISAM corupte după o oprire bruscă; tabelele InnoDB se repară singure la pornire). Optimizarea (recuperarea spațiului după ștergeri, reconstruirea indexurilor) se face din phpMyAdmin (selectarea tabelelor, Optimize table) sau din terminal (wp db optimize pentru WordPress). Ce ocupă spațiul într-o bază de site (revizii, date temporare expirate, jurnale ale modulelor) și ce se poate șterge sunt în ghidul despre optimizarea bazelor de date WordPress. Trecerea tabelelor de la MyISAM la InnoDB (fila Operations a tabelei, Storage Engine) este recomandată pentru orice site actual: tranzacții, blocare pe rând, reparare automată.

Accesul de la distanță

Implicit, baza acceptă conexiuni doar de pe server (localhost). Pentru un client de pe calculatorul dumneavoastră (DBeaver, HeidiSQL, MySQL Workbench) sau pentru o aplicație de pe alt server, adăugați adresa IP în Remote MySQL (Add Access Host); conexiunea merge pe portul 3306, cu utilizatorul și parola bazei, iar gazda este numele serverului. Recomandări: adrese IP precise, nu %; conexiune prin tunel SSH unde e posibil; ștergerea adreselor după terminarea lucrului. Un acces la distanță deschis larg, cu o parolă slabă, este o cale directă spre toate datele contului.

Copiile de siguranță

Exportul din phpMyAdmin este copia manuală; unealta Backup din cPanel descarcă fiecare bază separat (Partial Backups, Download a MySQL Database Backup) și restaurează din același loc; pentru copii automate, un cron cu mysqldump, cu parola în ~/.my.cnf, după ghidul despre copiile de siguranță automate în cPanel. Pentru un magazin, exportul bazei la fiecare oră este cel care salvează comenzile zilei.

Un exemplu: magazin cu baza de date de 3 GB

Un magazin WooCommerce cu 4.000 de produse avea baza de 3,1 GB și pagini de produs care se încărcau în 4 secunde. Din phpMyAdmin, coloana Size a arătat cauza: două tabele de jurnal ale unor module (acțiuni programate finalizate și jurnalul unui modul de securitate) însumau 2,4 GB. Curățarea lor (ștergerea intrărilor mai vechi de 30 de zile, din fila SQL, după export), trecerea tabelelor rămase pe MyISAM la InnoDB și optimizarea au adus baza la 480 MB și timpul de încărcare la 1,3 secunde, fără nicio schimbare de cod. Copia de siguranță zilnică a scăzut de la 25 de minute la 3. Verificarea dimensiunii tabelelor o dată pe lună, din phpMyAdmin, prinde astfel de creșteri înainte să încetinească site-ul.

Utilizatorii bazei și securitatea contului

Parolele utilizatorilor MySQL stau în fișierele de configurare ale aplicațiilor (wp-config.php, .env); oricine citește aceste fișiere (un modul compromis, un colaborator cu FTP, un fișier de copie uitat în public_html) are acces la baza de date, deci la conturi, comenzi și date personale. De aceea: permisiuni 600 pe fișierele de configurare, .htaccess anti-PHP în dosarele de încărcare, fără copii în zona publică, și rotirea parolelor bazei după orice incident, cu actualizarea configurației imediat după; pașii de răspuns sunt în ghidul despre răspunsul la incidente de securitate.

Erori frecvente

  • Error establishing a database connection (sau echivalentul aplicației): nume, utilizator, parolă sau gazdă greșite în configurație; utilizatorul neadăugat la bază; parola schimbată în panou și nu în configurație. Verificați în MySQL Databases că utilizatorul apare la baza respectivă cu drepturi.
  • Access denied for user: aceeași cauză, sau utilizator creat pentru altă gazdă (acces de la distanță fără adresa în Remote MySQL).
  • Table is marked as crashed: tabelă MyISAM coruptă; Repair din panou sau din phpMyAdmin.
  • Too many connections: aplicația deschide conexiuni pe care nu le închide, sau un atac; limita e per utilizator MySQL; cache-ul de pagină și de obiecte reduce conexiunile.
  • Baza depășește cota: tabele de jurnal sau de sesiuni umflate; curățare și optimizare.
  • Importul se oprește: fișier peste limita phpMyAdmin; folosiți terminalul.
  • Prefixul contului lipsă după migrare: aplicația caută baza „site” în loc de „cont_site”; corectați configurația.

Din terminal

Pe conturile cu terminal, operațiunile mari (export, import, interogări pe tabele mari) sunt mai rapide și fără limite:

mysql -u cont_utilizator -p cont_baza -e "SHOW TABLE STATUS" | awk '{print $1, $7, $10}' | sort -k2 -rn | head
mysqldump --single-transaction -u cont_utilizator -p cont_baza | gzip > ~/backup/cont_baza-$(date +%F).sql.gz
mysqlcheck -u cont_utilizator -p --optimize cont_baza

Prima comandă arată tabelele cu numărul de rânduri și dimensiunea datelor; a doua exportă consistent; a treia optimizează toate tabelele.

Securitatea bazelor de date

  1. Un utilizator per aplicație, cu drepturi doar pe baza ei.
  2. Parole generate, în fișierul de configurare cu permisiuni 600, niciodată în fișiere din public_html cu alte nume (config.php.bak).
  3. Fără acces de la distanță deschis permanent; adrese precise, șterse după.
  4. Copii automate, în alt loc, testate prin restaurare.
  5. Exporturile .sql niciodată în public_html.
  6. Actualizarea aplicațiilor: majoritatea compromiterilor bazei vin prin aplicație (injecții), nu prin MySQL; măsurile pentru cont sunt în ghidul despre securitatea contului cPanel.

Când site-ul e WordPress

WP-CLI din terminal face majoritatea operațiunilor fără phpMyAdmin: export (wp db export), import, optimizare (wp db optimize), interogări (wp db query), căutare și înlocuire sigură pe date serializate (wp search-replace), verificarea conexiunii (wp db check). Comenzile și cazurile de folosire sunt în ghidul despre terminalul cPanel și WP-CLI; pentru un site WordPress, ele sunt mai sigure decât editarea din phpMyAdmin, fiindcă respectă formatul datelor aplicației.

Întrebări frecvente

  1. Câte baze pot crea? Depinde de plan; verificați limita în bara laterală.
  2. Pot redenumi o bază? Nu direct; creați una nouă, exportați și importați, apoi schimbați configurația și ștergeți-o pe cea veche.
  3. MariaDB sau MySQL contează pentru WordPress? Nu pentru funcționare; ambele merg. Contează la migrări între versiuni foarte diferite.
  4. De ce văd baze pe care nu le-am creat? Instalările automate (WordPress Toolkit, Softaculous) le creează cu nume generate; nu ștergeți nimic fără să verificați ce aplicație le folosește.

Orientarea în panou și în secțiunea Databases este în ghidul pentru începători în cPanel, iar pentru serverele proprii, crearea bazelor și a utilizatorilor din linia de comandă este în ghidul despre instalarea LAMP pe Ubuntu.

Surse

Cum a fost realizat acest articol

Autor
Publicat
25 iunie 2025
Ultima actualizare
9 septembrie 2026
Surse

Lucrăm după principiile noastre de publicare, politica pentru corectare, politica pentru etică.

Articole similare