MySQL è uno tra i database “open source” basati su SQL. Con la sigla SQL s’intende il linguaggio di interrogazione di tutti i database. Per andare un po più nel dettaglio, possiamo dire che MySQL è un RDBMS (Relational database management system) composto da un client a riga di comando e un server.
Sono molti i linguaggi di programmazione che supportano MySQL, tra i tanti possiamo citare PHP e Java.
Si tratta di uno strumento utilissimo che può rappresentare un grande supporto per l’utente, che non richiede grandissime competenze per essere utilizzato, anche se occorre fare un po di pratica e seguire per bene i vari passaggi.
Vediamo ora come configurare MySQL.
La configurazione che andiamo a descrivere viene effettuata in ambiente Windows, anche se la procedura risulta essere molto simile anche per quanto riguarda Linux.
Come prima cosa, andiamo a effettuare il download dello strumento direttamente dal sito ufficiale mysql.it.
Una volta scaricato sul nostro computer e aver seguito tutti i vari passaggi dell’installazione, possiamo metterci all’opera per la configurazione.
Nella prima pagina di configurazione il consiglio è quello di lasciare invariati i valori di default, che riguardano alcuni aspetti della connessione TCP/IP e della configurazione avanzata. Clicchiamo quindi su Next e passiamo alla seconda pagina di configurazione.
In questa pagina, abbiamo la possibilità di impostare l’amministratore del database (account Root) e un account per l’accesso al database. Inseriamo quindi i dati che utilizzeremo per accedere al database.
Per creare il secondo account di cui abbiamo accennato, non dovremo far altro che cliccare su Add user da cui potremo scegliere lo username dell’account e anche il ruolo da assegnare all’account stesso dal comando Role.
Dopo aver completato tutti i campi richiesti, e aver scelto una nostra password, possiamo andare avanti cliccando su OK e poi su Next.
Andando avanti ci troveremo nella terza pagina della configurazione, in cui potremo decidere il nome da assegnare alla macchina MySQL. Visto che stiamo parlando di una configurazione in ambiente Windows, quello che dobbiamo fare è spuntare la casella nel campo Windows Service Name, in modo così da permettere che il programma si avvii automaticamente all’avvio di Windows.
Completiamo dunque la configurazione cliccando su Next per permettere al programma di elaborare i dati che abbiamo fornito per poter poi creare il nostro database MySQL.
Prima di parlare dell’ottimizzazione del nostro database, bisogna aggiungere un aspetto molto importante.
MySQL è incorporato in diverse piattaforme web, tra cui LAMP che implementa il server MySQL per la gestione di siti web dinamici. Inoltre, possiamo aggiungere che molti dei CMS di maggior successo, per esempio WordPress e Joomla, nascono con il supporto predefinito a MySQL.
Passiamo al secondo argomento della nostra guida per rilasciare alcuni “consigli” in merito.
Parliamo dunque dell’ottimizzazione di un database MySQL.
Innanzitutto, facciamo una precisazione fondamentale: con il pacchetto Cloud Hosting, Keliweb fornirà al cliente le maggiori risorse, le query MySQL del vostri sito saranno più snelle e veloci. Si tratta dunque di un servizio che comprende già un grande livello di ottimizzazione.
Partiamo da un presupposto fondamentale: l’ottimizzazione di un database (argomento di per sé molto complesso) è consigliato nei casi in cui ci troviamo di fronte alla situazione di dover gestire delle applicazioni che devono supportare numerosi accessi simultanei, cosa che può facilmente avvenire nei siti web di grande successo. In questi casi si corre il rischio di un calo delle prestazioni, e a tal proposito è consigliato effettuare l’ottimizzazione per migliorare alcuni aspetti dell’applicazione stessa o della configurazione del server.
Ed è proprio sulla configurazione del server che verte il primo punto preso in esame per l’ottimizzazione. Il funzionamento di MySQL dipende da numerose variabili che l’amministratore del server può modificare andando a impostare i valori.
A tal proposito, l’istruzione SQL Show Variables ci permette per l’appunto di andare a visualizzare queste variabili a cui facevamo riferimento. Una di queste variabili prende il nome di table_cache: si tratta sostanzialmente di una variabile che ci indica quante tabelle il server può mantenere aperte. Una volta raggiunta la cifra che la variabile ci indica, MySQL dovrà chiudere una tabella ogni qual volta ne verrà creata una nuova.
Questo è solo un esempio delle tante cose che possiamo fare. Un altro livello di ottimizzazione è quello rappresentato dall’accesso ai dati. La velocità di una query dipende dalla strategia scelta da MySQL.
Esistono diverse funzioni che ci consentono di valutare l’effettiva efficienza di una query, una di queste è la funzione EXPLAIN, grazie al quale potremo visualizzare i criteri utilizzati da MySQL per la sua esecuzione.
Quelli che abbiamo fornito sono solo alcuni consigli per poter ottimizzare il nostro database, ma ovviamente ciò a cui facciamo riferimento è un argomento molto vasto. Per avere le idee chiare, e conoscere ogni aspetto, rimandiamo direttamente alle guide MySQL di Keliweb.