HeidiSQL è un software completamente gratuito, nato ad Aprile del 2006 e ancora oggi tenuto costantemente in aggiornamento. HeidiSQL nasce con lo scopo di facilitare la gestione dei database per gli amministratori di sistema e gli sviluppatori. In particolare, questo progetto è destinato a chi ha la necessità di gestire più progetti contemporaneamente, dovendosi districare frequentemente tra differenti soluzioni tecnologiche. Per questi casi, essere costretti a utilizzare diversi software per gestire diverse tipologie di database non è solo una soluzione macchinosa, ma è soprattutto un'opzione poco scalabile. HeidiSQL ci viene in aiuto fornendoci un'interfaccia user-friendly, immediata ed efficace, capace di gestire contemporaneamente differenti tecnologie di database, tutti raccolti in un unico software.
Nei suoi primi anni di vita, HeidiSQL si è principalmente occupato della gestione di database basati su MySQL, ma è pur vero che la lista dei database supportati è sempre aumentata nel corso del tempo, fino ad arrivare a includere MariaDB, Microsoft SQL e PostgreSQL. È bene sottolineare, comunque, che la maggior parte degli utenti di HeidiSQL lo utilizza per la gestione dei database MariaDB e MySQL.
All-in-one Tool
HeidiSQL potrebbe essere considerato un all-in-one tool per la gestione, lo sviluppo e l'amministrazione dei database.
Ad esempio, esso rappresenta un'ottima alternativa al più classico phpMyadmin per la gestione di un database remoto. Ciò permetterebbe di velocizzare la fase di collegamento, così come quella di aggiornamento o modifica. Peraltro, questa opzione offrirebbe l'uso di una serie di funzionalità e strumenti di cui phpMyadmin non è dotato.
Le caratteristiche di HeidiSQL sono moltissime, e di seguito ne riporteremo le principali e più interessanti per i nostri scopi:
- Possibilità di collegarsi a più server usando un'unica finestra
- Possibilità di collegarsi a un server tramite la command-line
- Possibilità di visualizzare dati
- Possibilità di creare e modificare tabelle, così come view, stored procedure, o triggers ed eventi
- Possibilità di esportare dati da un database per importarli su un altro
- Possibilità di gestire i privilegi utente
- Possibilità di scrivere query con code-completion e syntax-highlighting
- Possibilità di monitorare i processi utente
- Possibilità di ottimizzare e riparare tabelle
Esempi d'uso
Vediamo quindi come utilizzare HeidiSQL. Per prima cosa scarichiamo l'installer dalla pagina ufficiale. Essendo HeidiSQL open source, è inoltre possibile scaricare il codice sorgente del software stesso per poterlo visionare o compilare a proprio piacimento. Il software è comunque rilasciato per la sola piattaforma Windows.
Consigliamo di scaricare la versione portabile a 32 o 64 bit (in base alla vostra macchina). Una volta avviato l'eseguibile, la prima schermata che ci ritroveremo davanti sarà la seguente:
Tramite questa schermata sarà possibile creare una nuova sessione, cliccando sul pulsante in basso a sinistra. Ci verrà quindi mostrata la seguente finestra:
A questo punto, selezioniamo il tipo di connessione tra quelle a nostra disposizione. Le opzioni a nostra disposizione sono MySQL, MariaDB, Microsoft SQL e PostgreSQL. Scegliamo sempre la versione (TCP/IP) preceduta dal nome del database al quale vogliamo collegarci.
L'hostname/IP rappresenta il nome o l'indirizzo IP della macchina dove risiede fisicamente il nostro database, che può essere locale o remoto. Se si dovesse trattare di un database locale, basterà inserire localhost. Aggiungiamo quindi nome utente e password per accedere al nostro database, mentre la porta è in genere la 3306.
Se il nostro database dovesse trovarsi in un VPS, dobbiamo fare attenzione al fatto che di default MySQL accetta solamente connessioni che provengono da localhost. Quindi, se il nostro server dovesse essere Unix-like, dovremmo andare ad abilitare manualmente le connessioni remote tramite la modifica del file presente in /etc/my.cnf.
In particolare, dovremo modificare la riga seguente:
bind-address 127.0.0.1
sostituendola con:
bind-address 0.0.0.0
A questo punto lanciamo il comando service mysql restart
per riavviare il servizio MySQL sul nostro VPS. Ciò dovrebbe assicurare la buona riuscita del collegamento.
Otterremo quindi la seguente schermata:
Come possiamo vedere, abbiamo:
- La lista dei database disponibili sulla sinistra
- Toolbar in alto
- Query editor window/workspace al centro
- Lista dei comandi SQL inviati al database in basso
Per selezionare uno dei database a disposizione, dovremmo fare doppio click su di esso. Clicchiamo due volte su prova123456, per poter eseguire query SQL di qualsiasi tipo.
Query Editor
Uno degli aspetti più interessanti di questo tool è il suo query editor. Tra le sue funzionalità, quelle che maggiormente possiamo apprezzare sono state il syntax highlighting, che ci permette di distinguere facilmente le diverse tipologie di elementi all'interno delle query (quali variabili, nomi di tabelle e parole SQL riservate), e l'auto completamento dei vari comandi SQL, che ci semplifica di molto il lavoro facendoci risparmiare parecchio tempo. Il query editor è inoltre altamente configurabile e permette di personalizzare font e colori, così come lo sfondo.
Conclusioni
HeidiSQL è un ottima soluzione se siamo alla ricerca di un client SQL multipiattaforma. Grazie al query editor, la scrittura delle query è molto semplificata, e la gestione di diversi database viene gestita tramite l'uso di tab. Quasi un must per ogni sviluppatore web.