Ghidul suprem pentru baza de date WordPress

Publicat: 2022-02-09

În esență, WordPress este un CMS (Sistem de management al conținutului). Pentru a gestiona conținutul, trebuie să îl poată stoca. WordPress face acest lucru prin foldere și fișiere și o bază de date. Am acoperit anterior sistemul de fișiere WordPress într-un articol separat; ne vom concentra pe baza de date de data aceasta.

În acest articol, ne vom uita la baza de date WordPress, structura acesteia și modul în care funcționează fiecare câmp. Am inclus și o scurtă lecție de istorie despre MySQL. Sugestie – My în MySQL nu înseamnă că este al tău; A mea este o persoană reală, dar cine? – Continuați să citiți pentru a afla.

Cuprins

  • Un (foarte) scurt istoric al SQL, MySQL și MariaDB
  • Cum se accesează baza de date WordPress
    • phpMyAdmin
    • Plesk/cPanel
    • Client SSH/MySQL/MariaDB
    • Pluginuri WordPress
  • Structura bazei de date WordPress
    • Structura tabelului
      • wp_commentmeta
      • wp_comments
      • wp_links
      • wp_options
      • wp_postmeta
      • wp_posts
      • wp_terms
      • wp_termmeta
      • wp_term_relationships
      • wp_term_taxonomie
      • wp_usermeta
      • wp_users

Un (foarte) scurt istoric al SQL, MySQL și MariaDB

WordPress folosește un RDBMS numit MySQL. Din punct de vedere tehnic, este bazat pe MySQL, deoarece, din ce în ce mai mult, MariaDB este folosit în locul MySQL. SQL înseamnă Structured Query Language și este limbajul pe care îl folosim pentru a interacționa cu baza de date – și nu cu baza de date în sine.

MySQL a jucat un rol semnificativ în creșterea internetului așa cum îl cunoaștem astăzi. Introdus pentru prima dată în 1995 ca alternativă la produsele oferite de Microsoft și Oracle, a devenit rapid standardul de aur RDBMS de alegere.

Istoria MySQL este plină de culoare, fiind achiziționată de Sun Microsystems și apoi de Oracle (Oracle a achiziționat Sun Microsystems și MySQL odată cu acesta).

Ca răspuns la achiziționarea MySQL de către Oracle, Monty Widenius, creatorul original al MySQL, a introdus MySQL în MariaDB, pe care l-a numit după fiica sa, Maria. (Interesant, MySQL este numit după cealaltă fiică a lui Monty – My). De-a lungul timpului, s-au dezvoltat diferențe între MariaDB și MySQL; cu toate acestea, cele două rămân interschimbabile în multe scenarii, inclusiv bazele de date WordPress.

De fapt, în multe cazuri, MariaDB este considerată a fi un înlocuitor pentru MySQL. Aceasta înseamnă că puteți dezinstala MySQL, puteți instala MariaDB și puteți continua să lucrați ca și cum nimic nu s-ar fi schimbat. Acestea fiind spuse, MariaDB poate oferi îmbunătățiri de performanță în unele situații și oferă, de asemenea, o compatibilitate mai largă cu, de exemplu, motoarele de stocare.

Este important de reținut că MySQL rămâne gratuit și este lansat sub un sistem cu licență dublă. În multe cazuri, MySQL este folosit pentru a se referi la baze de date care sunt fie MySQL, fie MariaDB.

Cum se accesează baza de date WordPress

Există câteva opțiuni diferite disponibile atunci când vine vorba de conectarea la baza de date WordPress. Metoda sau metodele disponibile pentru dvs. vor depinde în mare măsură de tipul de găzduire WordPress pe care îl utilizați. Dacă nu sunteți sigur cum este configurat serverul dvs., discutați cu furnizorul de găzduire sau cu administratorul de sistem. În orice caz, opțiunile pot include;

phpMyAdmin

phpMyAdmin este un instrument preferat, deoarece ne permite să ne conectăm la baza de date printr-o interfață grafică bazată pe web. phpMyAdmin trebuie instalat pe același server care găzduiește baza de date, mulți furnizori de găzduire oferind phpMyAdmin direct din cutie.

Plesk/cPanel

Plesk și cPanel sunt două platforme de panouri de control care au o funcție similară - o interfață cu utilizatorul care facilitează gestionarea serverului. Desigur, există anumite diferențe cheie, inclusiv tehnologiile și sistemele de operare pe care le suportă. În orice caz, ele ne permit și să accesăm baze de date, deși în moduri ușor diferite.

Client SSH/MySQL/mariaDB

SSH este o modalitate mai puțin prietenoasă de a vă conecta la o bază de date, oferind un CLI (Command Line Interface) în loc de o GUI. Din acest motiv, se recomandă o înțelegere mai profundă a comenzilor SQL. SSH trebuie configurat în mod explicit pe același server care găzduiește baza de date înainte de a se conecta la acesta.

Pluginuri

De asemenea, puteți utiliza pluginuri WordPress pentru a vă accesa baza de date WordPress. Folosind un plugin, puteți accesa baza de date direct din consola dvs. de administrare WordPress. Aici, va trebui să vă asigurați că alegeți un plugin de la un furnizor de renume și că urmați toate cele mai bune practici aplicabile pentru a vă păstra datele în siguranță. Dacă nu sunteți sigur ce plugin să alegeți, citiți ghidul nostru despre cum să alegeți cele mai bune plugin-uri pentru site-ul dvs. WordPress.

Structura bazei de date WordPress

Baza de date WordPress este formată din 12 tabele. Fiecare tabel, implicit, începe cu prefixul wp_; cu toate acestea, aceasta poate fi schimbată în timpul procesului inițial de instalare și configurare. Schimbarea prefixului este, în general, recomandată din motive de securitate WordPress, mai ales dacă intenționați sau aveți deja mai multe instalări pe același server.

Cele 12 tabele care alcătuiesc baza de date WordPress sunt următoarele (enumerate în ordine alfabetică):

  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_termmeta
  • wp_term_relationships
  • wp_term_taxonomie
  • wp_usermeta
  • wp_users

Acum vom parcurge fiecare tabel individual și vom analiza ce date stochează și structura sa internă.

Structura tabelului

Înainte de a intra în detaliile fiecărui tabel, merită să luăm ceva timp pentru a ne uita la modul în care este structurat. Dacă nu sunteți familiarizat cu documentația bazei de date, această secțiune vă va oferi un curs intensiv pe care îl veți găsi util în secțiunea următoare. Pe de altă parte, dacă sunteți destul de familiarizat cu tabelele SQL, nu ezitați să treceți mai departe.

  • Nume câmp – Acesta este numele câmpului, pe care îl veți găsi în tabelul SQL
  • Descriere – Am introdus aceasta pentru a vă ajuta să înțelegeți ce fel de date deține câmpul
  • Tip – Acesta este tipul de date pe care îl acceptă câmpul. Numerele dintre paranteze reprezintă limita strictă a numărului de caractere acceptabile pe care le putem introduce
  • Null – nu este clar de ce acest câmp este utilizat în acest moment
  • Cheie – Aceasta ne spune dacă intrarea este o cheie sau nu. Există diferite tipuri de chei, printre care:
    • Primar
    • Primar (parte)
    • Index
    • Index (parte)
    • Unic
    • Multiplu
  • Implicit – Dacă intrarea are o valoare implicită, valoarea implicită va fi listată aici
  • Note – Orice notă suplimentară

wp_commentmeta

Tabelul wp_commentsmeta stochează metadate legate de comentarii. Comentariile sunt stocate separat în tabelul wp_comments. Tabelul are următoarele câmpuri:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
meta_id Acesta este un ID unic pentru intrare. Crește automat bigint(20)nesemnat Primar
comment_id Acesta este ID-ul comentariului la care se referă metadatele, așa cum se găsește în tabelul wp_comments bigint(20)nesemnat Index 0
meta_key Aceasta identifică tipul de metadate pentru care este intrarea varchar(255) da Index Nul
meta_valoare Acestea sunt metadatele reale text lung da Nul

wp_comments

Tabelul wp_comments stochează comentariile postărilor. Metadatele legate de comentarii sunt stocate în tabelul wp_commentmeta. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
comentariu_ID Acesta este un ID unic pentru intrare. Crește automat bigint(20) Primar N / A
ID_post_comentare Acesta este ID-ul postării pentru care a fost scris comentariul, așa cum se găsește în tabelul wp_posts bigint(20) Index 0
comentariu_autor Acesta este numele autorului care a scris comentariul text mic
comentariu_autor_email Aceasta este adresa de e-mail a autorului care a scris comentariul varchar(100) Index
comment_author_url Aceasta este adresa URL a site-ului web a autorului care a scris comentariul varchar(200)
comentariu_autor_IP Aceasta este adresa IP a autorului care a scris comentariul varchar(100)
comentariu_data Aceasta este data și ora la care a fost postat comentariul datetime 0000-00-00 00:00:00
comment_date_gmt Aceasta este data și ora GMT (Greenwich Meridian Time) la care a fost postat comentariul datetime Index și Index Pt2 0000-00-00 00:00:00
comentariu_conținut Acesta este comentariul real lăsat text
comment_karma Acesta este disponibil pentru utilizare de către pluginuri în scopuri de gestionare a comentariilor int(11)
comment_approved Aceasta indică dacă comentariul a fost aprobat sau nu varchar(20) Index partea 1 0
agent_comentare De aici a fost postat comentariul varchar(255)
tip_comment Acesta este tipul de comentariu lăsat varchar(20)
comment_parent Dacă comentariul este un răspuns, acest câmp indică comentariul părintelui bigint(20)nesemnat Index 0
ID-ul de utilizator Dacă un utilizator care comentează este înregistrat, acesta va fi ID-ul său, disponibil în wp_users bigint(20)nesemnat 0

wp_links

Acest tabel a fost creat inițial pentru a susține blogroll-uri, o funcție care a fost abandonată începând cu WordPress 3.5. Este păstrat pentru compatibilitate cu versiunea anterioară, dar nu mai este utilizat. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
link_id Acesta este un ID unic pentru intrare. Crește automat bigint (20) nesemnat Primar
link_url Aceasta este adresa URL a linkului varchar(255)
nume_link
Acesta este numele linkului varchar(255)
link_image Aceasta este adresa URL a imaginii legate de link varchar(255)
link_target Acesta este cadrul țintă al link-ului varchar(25)
descriere_link Aceasta este o descriere a link-ului varchar(255)
link_visible Acest lucru ne spune dacă linkul este afișat public sau nu varchar(20) Index Y
link_owner Acesta este ID-ul utilizatorului care a creat linkul ca fiind disponibil în wp_users bigint (20) nesemnat 1
link_rating Aceasta este evaluarea link-ului int(11) 0
link_actualizat Aceasta este data și ora la care linkul a fost actualizat datetime 0000-00-00 00:00:00
link_rel Aceasta este relația legăturii varchar(255)
link_notes Acestea sunt note despre link text mediu
link_rss Aceasta este adresa de feed rss a linkului varchar(255)

wp_options

Setările WordPress configurate prin consola de administrare sunt stocate aici. Pluginurile și temele vor stoca, de obicei, și informații despre setări aici, așa cum este ilustrat în captura de ecran de mai jos. Aici putem vedea opțiunea de frecvență de scanare a site-ului nostru Web File Change Monitor setată la zilnic. Modificările fișierelor WordPress Monitorizează frecvența de scanare

Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
opțiune_id Acesta este un ID unic pentru intrare. Crește automat. bigint(20) nesemnat Primar
opțiune_nume Acesta este numele opțiunii/setării varchar(64) Unic
valoare_opțiune Aceasta este valoarea setării care este stocată text lung
încărcare automată Această setare spune wp_load_alloptions() dacă ar trebui să încarce automat opțiunea sau nu varchar(20) Index da

wp_postmeta

Metadatele postărilor care însoțesc fiecare postare sunt stocate aici. Metadatele pot include fișiere atașate, miniaturi, post slug dorit și alte astfel de informații. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
meta_id Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar
Numele domeniului
post_id

Acesta este ID-ul postării cu care sunt asociate metadatele, așa cum este disponibil în wp_posts bigint(20) nesemnat Index 0
meta_key Aceasta este o cheie de index care identifică metadatele, deoarece fiecare postare poate avea mai multe metadate varchar(255) da Index Nul
meta_valoare Acestea sunt metadatele reale text lung da Nul

wp_posts

Tabelul wp_posts este unul major și conține nucleul datelor WordPress. Deține postările, paginile reale, precum și elementele meniului de navigare, așa cum se vede în exemplul de mai jos, care arată pagina de exemplu implicită inclusă în fiecare instalare nouă WordPress. Exemplu de pagină inclusă în fiecare instalare nouă WordPress

Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
ID Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar și index (partea a 4-a)
post_autor Acesta este ID-ul autorului care a scris postarea ca fiind disponibilă în wp_users bigint(20) nesemnat Index 0
data_post Aceasta este data și ora la care a fost creată postarea datetime Index (Partea 3) 0000-00-00 00:00:00
post_date_gmt Aceasta este data și ora GMT (Greenwich Mean Time) la care a fost creată postarea datetime 0000-00-00 00:00:00
post_conținut Acesta este conținutul real al postării text lung
post_title Acesta este titlul postării text
post_extras Acesta este un extras din postare text
post_status Acesta este starea postării varchar(20) Index (Partea 2) publica
stare_commentare Acest lucru ne spune dacă comentariile la postare sunt permise sau nu varchar(20) deschis
ping_status Acest lucru ne spune dacă sunt permise sau nu ping și trackback varchar(20) deschis
post_parolă Postările pot fi protejate prin parolă cu orice parolă aplicabilă stocată aici varchar(20)
nume_post Acesta este URL-ul slug-ului titlului postării varchar(200) index
to_ping Aceasta este o listă de adrese URL către care WordPress ar trebui să trimită pingback-uri ori de câte ori postarea este actualizată text
ping Aceasta este o listă de adrese URL pe care WordPress le-a făcut ping-back când au fost actualizate text
post_modificat Aceasta este data și ora ultimei modificări a postării datetime 0000-00-00 00:00:00
post_modified_gmt Aceasta este data și ora GMT ale ultimei modificări a postării datetime 0000-00-00 00:00:00
post_content_filtered Aceasta este o versiune filtrată a post_content care este utilizată de obicei de pluginuri în scopuri de stocare în cache text lung
post_parent Când postarea este o revizuire sau un atașament, aceasta creează relația părinte-copil bigint(20) nesemnat Index 0
ghid Acesta este identificatorul unic global (GUID) al postării varchar(255)
meniu_ordine Acesta este numărul de comandă în care apar paginile și articolele care nu sunt postate int(11) 0
tip_post Aceasta identifică tipul de conținut varchar(20) Index (Partea 1) post
tip_post_mime Acesta este tipul mime de atașamente de postare varchar(100)
comentarii_număr Acesta este numărul total de comentarii, trackback-uri și pingback-uri bigint(20) 0

wp_terms

Termenii sunt obiecte de clasificare utilizate pentru a clasifica obiecte în WordPress. De exemplu, categoriile și etichetele folosite în postări sunt tipuri de termeni. Acest tabel conține toate tipurile diferite de termeni folosiți în WordPress. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
term_id Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar
Nume Acesta este numele termenului varchar(200) Index
melc Acesta este melcul termenului varchar(200) Multiplu
grup_termen Acesta este un alias pe care temele și pluginurile îl pot folosi pentru a grupa termenii împreună bigint(10) 0

wp_termmeta

Acest tabel stochează metadatele asociate cu termenii găsiți în wp_terms. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
meta_id Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar
term_id Acesta este ID-ul termenului la care se referă metadatele, așa cum este disponibil în wp_terms bigint(20) nesemnat Index 0
meta_key Aceasta este o cheie de identificare pentru termenul metadate varchar(255) da Index NUL
meta_valoare Acestea sunt metadatele reale text lung da NUL

wp_term_relationships

Acest tabel menține relațiile dintre postări și taxonomii. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
obiect_id Acesta este ID-ul postării, așa cum este disponibil în wp_posts bigint(20) nesemnat Primar (Partea 1) 0
term_taxonomy_id Acesta este ID-ul termenului taxonomie, așa cum este disponibil în wp_term_taxonomy bigint(20) nesemnat Primar (Partea 2) și Index 0
termen_ordine Aceasta este ordinea termenului int(11) 0

wp_term_taxonomie

Acest tabel oferă taxonomii termenilor și, ca atare, un context în care pot fi utilizați. De exemplu, putem folosi termenul bază de date ca categorie de post și ca categorie de produse (presupunând că vindem servicii de bază de date). În acest caz, categoria de post și categoria de produse sunt taxonomii de termeni. Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
term_taxonomy_id Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar
term_id Acesta este ID-ul termenului, așa cum este disponibil în wp_terms bigint(20) nesemnat Unic (Partea 1) 0
taxonomie Acesta este melcul taxonomiei varchar(32) Unic (Partea 2) și Index
Descriere Aceasta este o descriere a taxonomiei text lung
mamă Acesta este ID-ul taxonomiei părinte dacă taxonomia este un copil bigint(20) nesemnat 0
numara Acesta este numărul de obiecte cărora li se atribuie această taxonomie bigint(20) 0

wp_usermeta

Acest tabel stochează date suplimentare despre utilizator care nu se găsesc în tabelul wp_users. WordPress însuși, precum și pluginurile sau temele, pot folosi acest tabel.

Un exemplu de metadate de utilizator este porecla utilizatorului. Deși WordPress include acest câmp în mod implicit, acesta este încă parte din metadate, așa cum se arată mai jos. Un alt exemplu este WooCommerce; un plugin de comerț electronic care utilizează acest tabel pentru a stoca informații despre clienți, cum ar fi adresa de livrare.

Metadatele pseudonimului utilizatorului

Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
umeta_id Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar
ID-ul de utilizator Acesta este ID-ul utilizatorului la care se referă informațiile, așa cum se găsește în wp_users bigint(20) nesemnat Index 0
meta_key Acesta este un identificator cheie pentru meta intrare varchar(255) da Index Nul
meta_valoare Acestea sunt metadatele reale text lung da Nul

wp_users

Informațiile utilizatorilor WordPress sunt stocate aici. Având în vedere că utilizatorii sunt parte integrantă a ecosistemului WordPress, acest tabel este unul esențial.

Tabelul stochează doar informațiile de bază pentru fiecare utilizator, așa cum se arată în exemplul de mai jos. Toate celelalte informații sunt stocate în tabelul wp_usermeta.

Utilizatorii WordPress alte metainformații

Tabelul are următoarele coloane:

Numele coloanei Descriere Tip Nul Cheie Mod implicit
ID Acesta este un ID unic pentru intrare. Crește automat bigint(20) nesemnat Primar
logare utilizator Acesta este numele de utilizator al utilizatorului varchar(60) Index
user_pass Aceasta este parola utilizatorului varchar(64)
user_nicename Acesta este numele afișat al utilizatorului varchar(50) Index
user_email Aceasta este adresa de e-mail a utilizatorului varchar(100)
user_url Aceasta este adresa URL a utilizatorului (de ex. site-ul web) varchar(100)
user_registered Aceasta este data și ora la care utilizatorul a fost înregistrat datetime 0000-00-00 00:00:00
cheie_activare_utilizator Aceasta este cheia de activare a utilizatorului, folosită pentru resetarea parolei varchar(60)
Starea utilizatorului Acesta nu mai este folosit ca de la WordPress 3.0, ci folosit pentru a indica dacă utilizatorul a fost spam int(11) 0
numele afisat Acesta este numele afișat public al utilizatorului varchar(250)

Familiarizați-vă cu baza de date WordPress

Bazele de date pot fi destul de intimidante pentru cei neinițiați – la urma urmei, dețin toate datele necesare pentru ca WordPress să funcționeze. Deși este adevărat că un pas greșit aici poate duce la prăbușirea site-ului, nu lăsați acest lucru să vă intimideze. La urma urmei, cunoașterea modului în care vă aflați în baza de date WordPress vă poate ușura foarte mult eforturile de depanare în cazul în care acest lucru este necesar.

Configurarea unui mediu de testare sau de organizare vă poate oferi un spațiu sigur în care sunteți liber să experimentați fără a risca să vă luați site-ul offline. Puteți chiar să configurați gratuit un mediu de pregătire XAMPP pe computerul dvs. - oferindu-vă tot ce aveți nevoie pentru a stăpâni baza de date WordPress.