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
- Structura tabelului
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.
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.
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.
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.
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.