Nelle lezioni precedenti MySQL si è parlato delle componenti che costituiscono un'installazione MySQL e delle varie possibilità di configurazione. Un elemento
che si nota è la completezza degli strumenti forniti (server, client testuale, strumenti di amministrazione ed ottimizzazione) che, d'altro canto, sono
tutti utilizzabili solo da riga di comando. Nella realtà quotidiana, anche per amministratori e sviluppatori professionisti, risultano molto comodi alcuni
strumenti visuali, dotati di interfaccia utente. In questa lezione vedremo i più noti, forniti ufficialmente da MySQL o da produttori di terze parti. Se ne
valuteranno le caratteristiche e:
- funzionalità offerte;
- tipologia di installazione: desktop, portable, applicativo web;
- disponibilità sulle varie piattaforme;
- eventuale costo.
Client MySQL Workbench
Si è già accennato che MySQL Workbench accompagna ogni installazione del DBMS. Si tratta di uno strumento molto completo che cerca di offrire supporto a
tutte le principali funzionalità del server, dalla versione 5.0 in poi.
Le tematiche su cui si concentra il Workbench sono cinque:
- Sviluppo SQL: in questo ruolo sostituisce pienamente il client mysql. Permette di connettersi ad un database, fornendo tutti i
parametri necessari (credenziali di accesso, coordinate TCP/IP ed altro) e di inoltrare comandi SQL per interrogazioni e modifiche di dati; - Data modeling: questo termine si riferisce alla progettazione visuale di un database. I DBMS relazionali come MySQL si basano sulla
creazione di tabelle, suddivise in campi, e collegate tra loro da relazioni. La struttura di un database può facilmente diventare complessa, ed utilizzare
solo strumenti testuali potrebbe non essere sufficientemente agevole; - Amministrazione del Server: è possibile amministrare il server tramite MySQL Workbench, passando dalla gestione degli utenti
all'esecuzione di backup e recovery. Il tool fornisce una modalità per gestire ogni attività che permetta di rendere più efficiente, sicuro e controllato
il lavoro del DBMS; - Migrazione dei dati: non sempre i dati che popolano un database vengono generati da zero. Spesso sono importati da versioni precedenti
di MySQL o provengono da DBMS di altre piattaforme. La migrazione dei dati in questi casi deve essere realizzata con cura per non perdere il patrimonio
informativo, pertanto il Workbench offre alcune funzionalità che consentono tale attività; - Supporto alle funzionalità Enterprise: MySQL Workbench mira ad essere un tool completo, in grado di andare oltre le finalità più comuni.
Per questo motivo, supporta strumenti dedicati alla sfera Enterprise, come MySQL Enterprise Backup e MySQL Audit.
Come molti altri tool, il Workbench esiste in Community Edition e Commercial Edition. Il primo è disponibile gratuitamente nonostante la ricchezza di
potenzialità offerte, mentre il secondo fornisce un supporto più ampio alla sfera di attività Enterprise.
Client MySQL: PhpMyAdmin
PhpMyAdmin
è uno strumento web-based molto diffuso ed in continua evoluzione da 16 anni. È un progetto open source realizzato in PHP, con un’interfaccia
disponibile in moltissime lingue, incluso l’italiano. La sua natura di applicazione web richiede, per l'installazione, la disponibilità di un server web
con l'interprete PHP configurato ed integrato.
Il contesto ideale per il suo utilizzo è una piattaforma comunemente denominata LAMP (Linux, Apache, MySQL, PHP). È molto semplice da utilizzare in un'installazione web del DBMS e viene spesso messo a disposizione dai
fornitori di hosting.
I suoi vantaggi principali sono, oltre alla stabilità ed efficienza ormai collaudate, la ricchezza di funzioni che rispecchiano la maggior parte delle
caratteristiche di MySQL.
Può essere utilizzato per visualizzare e modificare i dati, per scrivere query in linguaggio SQL e, con le interfacce di supporto che offre, risulta adatto
anche agli utenti meno esperti. Altre caratteristiche molto utili consistono nella possibilità di esportare i dati in vari formati, sia per realizzare
report che backup di sicurezza, e di importarli da varie fonti.
Installazione e cenni sulla configurazione
Una volta scaricato PhpMyAdmin dal sito ufficiale, lo si può installare in una directory del web server ed
impostare i dati del file di configurazione (config.inc.php), scegliendo fra i possibili modi di autenticazione degli utenti.
È consigliabile scegliere fra l’autenticazione http e quella basata sui cookie, in quanto l’autenticazione di tipo config comporta la
memorizzazione della password dell’utente in chiaro nel file di configurazione; in questo caso, inoltre, la connessione al server avverrà sempre con lo
stesso nome utente.
La configurazione di un server MySQL su config.inc.php avviene compilando l’apposito blocco di codice con i dati essenziali per la connessione:
l’indirizzo host su cui gira il server, l’eventuale porta diversa da quella di default (3306), l’estensione di PHP da utilizzare (mysql o mysqli), il tipo di autenticazione scelta. Nel caso in cui quest’ultima sia di tipo config dovrete anche scrivere qui il nome utente e la
password col quale intendete collegarvi; nel caso invece delle autenticazioni http o via cookie è richiesta l’indicazione di un nome utente e password che
abbia i permessi di SELECT sul database mysql (quello dei permessi; per motivi di sicurezza sarà bene che tale utente non abbia altri
privilegi). Tuttavia PhpMyAdmin funzionerà anche senza quest’ultima configurazione.
Una possibilità interessante è quella di configurare più di un server sullo stesso file: ciò consentirà agli utilizzatori di PhpMyAdmin di selezionare,
attraverso una casella a discesa nella home page, il server al quale intendono collegarsi.
Altri client MySQL Windows
Di client MySQL ne esistono molti, e citarli tutti sarebbe impossibile. Ne verranno nominati solo alcuni che eccellono per le loro caratteristiche.
Probabilmente uno dei più leggeri è HeidiSQL. Si tratta di un programma molto snello, rapido, con
funzionalità che accelerano molto il lavoro dell'amministratore e dello sviluppatore. Una volta avviato, il suo Session Manager richiede di aprire
un connessione preconfigurata o di crearne una nuova. Eseguita l'operazione, si avrà accesso all'elenco delle tabelle, sarà possibile leggerne i dati e
modificarli velocemente come se si trattasse di un foglio di calcolo Excel. Esiste il supporto a funzionalità di backup e restore, importazione ed
esportazione di dati, e sviluppo ed esecuzione di stored procedure.
HeidiSQL è gratuito, open source e disponibile anche in versione portable. L'unica pecca è che si tratta di un prodotto disponibile solo per Windows,
sebbene sia possibile utilizzarlo su Linux e Mac tramite appositi emulatori come Wine.
Altro prodotto molto professionale è Navicat for MySQL, realizzato da un'azienda che offre soluzioni
client anche per Oracle, PostgreSQL e tutti gli altri maggiori DBMS. Completo anch'esso di alcuni wizard che aiutano a leggere, modificare ed elaborare
dati, è disponibile per ogni sistema operativo. Per usare i software Navicat è necessario acquistare una licenza che ne estenda l'uso oltre i 30 giorni di
prova gratuita.