Pubblicato:13/05/2022

Aggiornato:01/05/2024

Tempo di lettura:  minuti

Il "WordPress DB", ovvero il database mysql utilizzato da WordPress, rappresenta un elemento fondamentale per il corretto funzionamento di qualsiasi sito gestito tramite questo popolare CMS (Content Management System).

 Conosciuto tecnicamente come DB o base di dati, il database è essenzialmente un contenitore in cui vengono memorizzati i dati, solitamente su un server che gestisce le richieste dei clienti. Tra i vari sistemi di gestione di basi di dati relazionali (RDBMS), MySQL spicca per la sua popolarità, soprattutto nell'ambito web, grazie alla sua efficienza e affidabilità.

Nel contesto di CMS come WordPress, l'uso di un database MySQL è cruciale non solo per la memorizzazione di contenuti e impostazioni, ma anche per garantire prestazioni ottimali e scalabilità del sito.

Scegliere un pacchetto di hosting per WordPress richiede attenzione particolare alla presenza di un database MySQL, essenziale per assicurare la piena compatibilità e funzionalità del sistema. 

Questa configurazione permette agli sviluppatori di sfruttare al meglio le potenzialità di WordPress, facilitando personalizzazioni e l'integrazione di un'ampia varietà di plugin e temi.

Comprendere il ruolo del WordPress DB è quindi imprescindibile per chi lavora nel campo dello sviluppo web e aspira a realizzare siti dinamici e funzionali.

Cos'è un database MYSQL

Un database MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) open source, estremamente popolare, particolarmente rinomato per la sua affidabilità, robustezza e facilità di utilizzo. Essendo basato sul linguaggio SQL (Structured Query Language), MySQL permette agli utenti di gestire e manipolare dati strutturati in modo efficiente.

MySQL è utilizzato in una vasta gamma di applicazioni, dalla gestione dei dati per siti web piccoli a grandi applicazioni aziendali. È particolarmente famoso nel mondo del web development, in quanto è una componente chiave della stack tecnologica LAMP (Linux, Apache, MySQL, PHP/Python/Perl), ampiamente adottata per lo sviluppo di applicazioni web dinamiche.

Uno dei punti di forza di MySQL è la sua capacità di gestire grandi volumi di dati mantenendo alte prestazioni, la sicurezza dei dati e la scalabilità, il che lo rende una scelta ideale per applicazioni che necessitano di un accesso rapido ed efficiente ai dati. Inoltre, essendo open source, offre una grande flessibilità per la personalizzazione e l'ottimizzazione in base alle esigenze specifiche degli utenti e dei sviluppatori.

Come funziona esattamente WordPress DB MySQL

Il database MySQL gioca un ruolo cruciale nei sistemi di gestione dei contenuti (CMS) come WordPress, che sono ampiamente utilizzati per costruire siti web. WordPress è sviluppato in PHP, un linguaggio di scripting lato server noto per la sua efficacia nello sviluppo web dinamico.

PHP sta per "PHP: Hypertext Preprocessor", originariamente acronimo di "Personal Home Page". Questo linguaggio è particolarmente apprezzato per la creazione di applicazioni web interattive.

La funzionalità principale di PHP è di elaborare le informazioni prima che queste vengano inviate al browser dell'utente. Ad esempio, quando un utente visita un sito WordPress e accede a una pagina, il server web processa lo script PHP corrispondente. Questo script, a sua volta, interagisce con un database MySQL per recuperare dati come testi, immagini e impostazioni utente. Successivamente, PHP elabora questi dati e genera una pagina web in HTML, arricchita talvolta con elementi di altri linguaggi come CSS o JavaScript.

Il processo è illustrato nel seguente esempio pratico:

  • Un visitatore digita l'URL di un sito web e richiede la homepage, il cui file è tipicamente chiamato index.php. 
  • Il server web esegue questo file PHP, che recupera e integra i dati necessari dal database MySQL.
  • Il risultato è una pagina HTML che può includere vari elementi multimediali o interattivi.
  • Questa pagina viene poi inviata al browser del visitatore (come Internet Explorer, Firefox, o Chrome), che la rende visibile sullo schermo.

Questo meccanismo si ripete per ogni pagina del sito che viene visitata, garantendo che i contenuti siano sempre aggiornati e personalizzati in base alle interazioni dell'utente con il sito. Grazie a questa interazione tra PHP e MySQL, WordPress può offrire un'esperienza utente fluida e altamente personalizzabile, rendendolo uno dei CMS più popolari e versatili in uso oggi.

Dove entra in gioco MySql? 

MySQL entra in gioco come il sistema di gestione del database fondamentale per la memorizzazione e la gestione dei dati in molte applicazioni web basate su PHP, tra cui WordPress. Questo database relazionale è particolarmente apprezzato per la sua flessibilità e per la capacità di interagire efficacemente con PHP, un linguaggio di programmazione ampiamente utilizzato per lo sviluppo di siti web dinamici.

Il processo di interazione tra PHP e MySQL può essere descritto attraverso vari passaggi chiave, principalmente centrati sulla lettura e scrittura dei dati. Ad esempio, consideriamo l'azione di un utente che vuole accedere alle informazioni del proprio profilo su un sito web sviluppato in PHP. Ecco come funziona:

  1. Azione dell'Utente: L'utente clicca sul link "IL TUO PROFILO".
  2. Esecuzione dello Script PHP: Quando si seleziona il link, il browser richiede al server web di eseguire uno script PHP associato alla pagina del profilo.
  3. Interrogazione di MySQL: Lo script PHP poi si interfaccia con il database MySQL per richiedere i dati specifici dell'utente. Questa richiesta di dati è gestita attraverso query SQL che possono leggere o aggiornare le informazioni nel database.
  4. Elaborazione e Risposta: MySQL processa la query e invia i dati richiesti indietro allo script PHP.
  5. Generazione della Pagina HTML: Lo script PHP riceve i dati e utilizza queste informazioni per costruire una pagina HTML. Questa pagina sarà impaginata e formattata secondo il codice sorgente dello script.
  6. Visualizzazione sul Browser: Infine, la pagina HTML generata viene inviata al browser dell'utente, dove può visualizzare i dati del proprio profilo.

Cosa si può gestisce un database WordPress?

Esistono diversi strumenti per la gestione di un database, e quando si parla di WordPress, uno dei più comuni forniti dal nostro servizio di hosting è phpMyAdmin. Questa interfaccia web è  nei pannelli di amministrazione degli hosting  e facilita notevolmente l'interazione con il database di WordPress.

Oltre a permetterci di far funzionare WordPress, avere accesso diretto al WordPress DB MySQL ci permette di poter fare delle operazioni di non poca importanza.
Una di queste è la creazione di backup periodici, noti anche come dump del database. Questi backup sono essenziali per la sicurezza e la manutenzione del sito, poiché permettono di ripristinare lo stato precedente del sito in caso di problemi.
Se invece dimentichiamo la password di amministrazione di WordPress, avendo accesso diretto al Database, possiamo andare a modificare i dati relativi all'account manualmente, e riprenderne il controllo. Per saperne di più su come modifica o recuperare la password leggi anche Come reimpostare la password di amministratore di WordPress

Un approccio diretto al Database ti permette di spostare facilmente WordPress, da un hosting all'altro senza troppi problemi, come descritto nell'articolo 4 step per trasferire WordPress da un hosting all’altro senza andare offline, oppure, se devi trasferire WordPress da un Server Locale a uno Remoto, come descritto nell'articolo Trasferire un sito WordPress da locale a remoto. La guida completa.

Struttura del database MySQL di WordPress

Per quanto possa sembrare complicato WordPress lavora con solo 11 tabelle con l’installazione di base. Questo possono aumentare in base ai plugin installati.

L'immagine in alto ti mostra le tabelle del database di WordPress e come sono relazionate tra di loro.

Durante l'installazione di WordPress, ogni tabella del database viene assegnata un prefisso che varia per ciascuna installazione, mentre la parte del nome che segue il carattere "_" rimane invariata. Questo prefisso deve corrispondere a quello specificato nel file wp-config.php, il quale è essenziale per stabilire la connessione tra il linguaggio di programmazione PHP e il sistema di gestione del database MySQL.

Come precedentemente menzionato, le tabelle del database sono responsabili della gestione dei contenuti testuali del sito.

Vediamole più nel dettaglio:

1. wp_posts

Poiché i tipi di contenuto dei tuoi post e delle pagine sono archiviati in questa tabella, è probabilmente la tabella più importante nel database di WordPress. I tipi di contenuto includono testo, revisioni, voci di menu, allegati multimediali e qualsiasi elemento personalizzato.

2. wp_postmeta

È un'estensione della tabella wp_posts. Memorizza informazioni extra dai post. Alcuni plugin memorizzano i dati all'interno di questa tabella. 

Nota: in tutto il database, ci sono molte di queste tabelle che consentono al core di WordPress o a un tema o plug-in di memorizzare informazioni aggiuntive.

3. wp_options

La tabella delle opzioni è un diverso tipo di tabella. Invece di memorizzare il contenuto del sito Web, memorizza le impostazioni del sito. Questa tabella memorizza le configurazioni del tuo sito web come il titolo del sito, lo slogan e il fuso orario. In genere memorizza anche le impostazioni di plugin e temi. A differenza di altre tabelle, la tabella wp_options non condivide realmente una relazione con nessuna delle altre tabelle.

4. wp_users

La tabella wp_users memorizza l'elenco di tutti gli utenti registrati del tuo sito Web WordPress. Di conseguenza, salva le informazioni di base come il nome utente, le password di WordPress, l'ID e-mail, il nome visualizzato, l'ora della registrazione, ecc. Utile sa sapere se hai problemi con il recupero password come dicono in questo articolo: Come reimpostare la password di WordPress

5. wp_usermeta

WordPress memorizza informazioni extra sugli utenti nella tabella wp_usermeta. Ad esempio, il cognome di un utente viene salvato nella tabella wp_usermeta invece che nella tabella wp_users.

6. wp_terms

La tabella wp_terms memorizza categorie e tag per i post . Qui ci sono anche i link relativi alle categorie. La tabella wp_terms condivide una relazione con la tabella wp_term_taxonomy e wp_term_relationships.

7. wp_term_taxonomy

wp_term_taxonomy memorizza le descrizioni di categorie, tag e alcuni collegamenti associati alle categorie.

8. wp_term_relationships

La tabella wp_term_relationships aiuta a mantenere le relazioni. Ad esempio, in questo post, quello che stai leggendo, è associato ad alcuni tag e a una categoria. La tabella wp_term_relationships aiuta a mantenere questa associazione.

9. wp_links

La tabella wp_links memorizza le informazioni relative ai blogroll.

Poiché i blogroll non sono più in uso, è strano trovare ancora la tabella wp_links. È principalmente per le persone che utilizzano versioni precedenti di WordPress.

10. wp_comments

In questa tabella vengono memorizzati sia i commenti approvati che quelli non approvati lasciati sui tuoi post e sulle tue pagine. In questa tabella vengono salvati anche dati specifici sull'autore come il nome dell'autore, l'indirizzo email, il tipo di commento (che si tratti di un semplice commento, pingback o trackback).

11. wp_commentmeta

I dati extra sui commenti lasciati sul tuo sito web, ad esempio a quale post è associato il commento, vengono memorizzati qui.

Questa è la tabella finale nel database di WordPress di un nuovo sito web.

È importante notare che se stai controllando il database di un vecchio sito Web, ci saranno sicuramente più di 11 tabelle.

Più tempo dedichi alla gestione di un sito Web, più informazioni aggiungi. Di conseguenza, il tuo database diventa più grande. Nuove tabelle vengono aggiunte al database per supportare determinate funzioni su un sito web. Woocommerce, ad esempio, crea la propria tabella di database WordPress una volta installata sul tuo sito web. Tuttavia, non tutti i plugin aggiungono tabelle al database. Molti utilizzano quelle già presenti.

MariaDB invece che Mysql

Se il tuo hosting non fornisce Mysql ma MariaDB niente maura sono entrambe soluzioni per fare da WordPress DB.

WordPress può utilizzare sia MySQL sia MariaDB per la gestione del database. Di default, supporta MySQL tuttavia, MariaDB, che è un fork di MySQL, è diventato popolare come alternativa a causa delle sue prestazioni ottimizzate e compatibilità.

Dal punto di vista dell'utente o dello sviluppatore, MariaDB è quasi completamente intercambiabile con MySQL, il che significa che puoi sostituire MySQL con MariaDB senza dover modificare il tuo sito WordPress o le applicazioni. MariaDB e MySQL condividono la stessa interfaccia di programmazione delle applicazioni, set di comandi e strutture di database, rendendo semplice la transizione tra i due.

Quando si configura un sito WordPress, è possibile scegliere quale dei due utilizzare in base alle preferenze personali o alle raccomandazioni dell'hosting provider. Molto spesso, la scelta dipende da considerazioni come la performance, la disponibilità del supporto tecnico e la compatibilità con specifiche estensioni o configurazioni del server.

Considerazioni Finali

In conclusione, il database MySQL si rivela un pilastro fondamentale per il corretto funzionamento e la scalabilità di siti web basati su WordPress, rappresentando il cuore dove vengono memorizzati tutti i dati essenziali. La profonda integrazione con PHP consente a WordPress di offrire un'esperienza utente ricca e personalizzata, gestendo dinamicamente contenuti e impostazioni attraverso una serie di interazioni complesse ma efficaci tra lo script del sito e il database.

La scelta tra MySQL e MariaDB, una sua alternativa diretta, dipende da specifiche esigenze di performance e compatibilità, garantendo comunque una gestione dei dati affidabile e ottimizzata. Che tu stia configurando un nuovo sito WordPress o gestendo uno esistente, comprendere e ottimizzare l'uso del database è essenziale per massimizzare le prestazioni del sito e migliorare l'esperienza complessiva degli utenti. Con un'attenzione particolare alla scelta del provider di hosting e alla configurazione del database, puoi garantire che il tuo sito WordPress sia robusto, sicuro e in grado di crescere insieme alle tue esigenze.

Se hai dubbi o domande scrivi nei commenti e saremo lieti di rispondere.

Trasferire un sito WordPress da locale a remoto. La guida completa
https://www.wppoint.it/trasferire-wordpress-da-un-hosting-ad-un-altro-hosting/
Il Database MySQL, questo sconosciuto

Partiamo con la prima distinzione, Database e MySQL.

Conosciuto anche come DB, Base di Dati o Banca Dati, il Database è un insieme di dati, strutturato in base all’omogeneità dei contenuti e dei formati delle informazioni. Il Database è solitamente memorizzato in un computer di tipo Server (che eroga servizi), e risponde alle interrogazioni fatte tramite un Client (generalmente un computer che richiede servizi ad un computer di tipo Server.

Esistono diversi tipi di DBMS, che sarebbe Database Management System (Sistema di Gesione di Basi di Dati). IL DBMS che ci interessa conoscere è MySQL, attualmente uno dei più diffusi Software di gestione di Database, soprattutto nel mondo del Web.

Quando si vuole utilizzare un CMS, che sarebbe Content Management System (Sistema di Gestione di Contenuti) come WordPress (ma anche come Drupal, Prestashop, Joomla e cosi via), è indispensabile l’utilizzo di un Database MySQL.

Quando scegliamo un pacchetto di servizi presso un Hosting Provider, dobbiamo aver cura di sceglierne uno che offra anche almeno un Database MySQL.

COME FUNZIONA ESATTAMENTE

Cosi come per WordPress, dietro la maggior parte dei CMS in circolazione, esiste la medesima “meccanica” di funzionamento.
WordPress è sviluppato nel linguaggio di programmazione PHP e utilizza un Database MySQL per funzionare.
Il PHP è l’acronimo di “PHP: Hypertext Preprocessor”, in italiano Preprocessore di Ipertesi, in origine “Personal Home Page”. È un linguaggio di scripting interpretato, che viene utilizzato principalmente per lo sviluppo di applicazioni lato server.
In parole povere, quando un visitatore naviga su un sito fatto in PHP e richiede una determinata pagina, non vedrà il contenuto della file ma il risultato dell’elaborazione dello script che è viene eseguito direttamente sul Server Web, e genera una file come risultato che può contenere diversi tipi di informazioni.

Facciamo un esempio:
1) Il visitatore digita l’indirizzo del sito che vuole visitare e chiede al Server Web la prima pagina, chiaramente con estensione in PHP (index.php)
2) Il Server Web esegue la pagina index.php in locale e produce una pagina in HTML, misto ad altri linguaggi, come risultato.
3) Il Server Web invia la pagina risultante al Browser (Internet Explorer, Firefox, Chrome etc) del computer (il Client in questo caso), che si occupa di visualizzarla sullo schermo del visitatore.

Il processo si ripete per ogni pagina visitata.
Dove entra in gioco il Database? La risposta è nel punto 2.
Il linguaggio di programmazione PHP, può interfacciarsi con diversi tipi di Database, e guarda caso, anche con quello che serve a noi, il MySQL.
Quando viene eseguito un file PHP che si interfaccia al Database MySQL, sono possibili una serie di interazioni ma principalmente, leggere e scrivere dati.

Poniamo il caso di voler vedere i dati di un nostro account, di un sito fatto in PHP dove ci siamo ipoteticamente registrati prima e clicchiamo sulla classica scritta “IL TUO PROFILO”.
La pagina che visualizzeremo, sarà stata generata dall’esecuzione di uno script in PHP, che interroga il DB MySQL, che risponde con i vostri dati che in fine, vengono impaginati in base a come è stato scritto il codice sorgente.
Il risultato di questo processo è che vedremo una pagina con i nostri dati scritti.

Possiamo grossolanamente affermare che, i file in PHP sono il programma che interagisce con i DATI che sono nel Database.

Ovviamente, i dati conservati all’interno di un Database, occupano spazio e per questo motivo, vale lo stesso discorso dello spazio e del traffico che abbiamo precedentemente affrontato nell’articolo precedente.




Se ancora non l'hai fatto seguici sulla nostra pagina Facebook ed iscriviti al gruppo di supporto e al canale YouTube.

Articoli Correlati

Sull'autore

Roberto Delisio

Sono più di 15 anni che lavoro alla realizzazioni di applicativi e siti web. Metto la mia esperienza a disposizione di chi ha necessità di sviluppare o gestire il proprio sito in Wordpress.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>

Scarica l'ebook per evitare e risolvere i 10 errori più comuni su WordPress