MySQL è probabilmente tra i più popolari database open source (stando al motto che campeggia sul sito “The world’s most popular open source database“, IL più popolare in assoluto). Certo è che, insieme a PostgreSQL, è tra i più quotati database a codice libero, in grado di trovare un impiego anche in ambiti aziendali (dove la gestione di milioni di records è richiesta) e di rubare fette di mercato ai più blasonati cugini (Oracle, SQL Server, ecc.). MySQL presenta la maggior parte delle caratteristiche che ci si aspetterebbe da un database professionale ma il presente post focalizza l’attenzione sull’installazione su un singolo pc, più che altro per scopi amatoriali o per testing. Non si fa menzione quindi di cluster, backup, ecc. ma una esauriente documentazione è disponibile sul sito (http://www.mysql.com/) assieme ad una versione enterprise (non più gratis in questo caso).
Dato che MySQL server è disponibile attraverso i repository ufficiali, possiamo facilmente installare i pacchetti che ci servono attraverso Synaptic (System -> Administration -> Synaptic Manager).
Click su “search” e cerchiamo per nome “mysql”. Ovviamente è sempre possibile l’alternativa da terminale:
sudo apt-get check mysql-server
Essenzialmente abbiamo bisogno del mysql-server package e delle sue dipendenze e con questa operazione, di fatto, installiamo MySQL. L’installazione dovrebbe avviare automaticamente il server, potete controllare con un:
ps -ef | grep mysql
da terminale e verificare che vi sia mysqld tra i processi attivi. Dal output vedrete anche la porta su cui il server è in ascolto (di default è la 3306).
A questo punto si aprono due alternative: fermarsi qua e gestire MySQL attraverso la riga di comando oppure installare le comode interfacce grafiche (GUI) per fare il lavoro sporco in maniera più amichevole.
Per chi sceglie la prima strada occorre avviare il server (ma dovrebbe già essere stato avviato come dicevo)
sudo /etc/init.d/mysql start
Buona cosa cambiare la password dell’utente root (di MySQL non del sistema)
mysqladmin -u root password *vostra-password*
mysql -u root -p
poi non rimane altro che loggarsi con la nuova password che vi verrà richiesta. Per la documentazione fare riferimento qui e alle pagine man dei comandi.
Dato che mi piaciono le cose comode, spendo qualche parola in più sull’alternativa grafica. Esistono due utili strumenti che possiamo installare per amministrare il nostro MySQL server attraverso una comoda interfaccia grafica: MySQL Administrator (per compiti di amministrazione) e MySQL Query Browser (per le operazioni su DB: select, update, insert, ecc.). Per entrambi è disponibile una guida in italiano qui.
Per installere questi due utili tools al solito si può procedere tramite terminale:
sudo apt-get check mysql-admin
sudo apt-get check mysql-query-browser
oppure tramite Synaptic. Una volta installati saranno disponibili nel menù Applicazioni (Applications -> Programming). Avviamo MySQL Administrator:
Inizialmente l’utente root non ha nessuna password quindi il campo va lasciato vuoto. La porta è quella di default (3306). Ci sono già due DB presenti (vedi voce “Catalogs”) ma sono di sistema e non vanno toccati. Per iniziare a smanettare consiglio di seguire i seguenti passi:
- Selezionare “User Administration” poi “root” nello spazio in basso a sinistra e assegnate una password di vostra scelta all’utente (che va ovviamente memorizzata)
- Cliccare su “New User” nella stessa finestra e create uno user a vostro piacere.
- Cliccare su “Catalogs”. Nello spazio in basso a sinistra vedrete i database attualmente presenti sul server. Click con il tasto destro del mouse su uno dei DB nella lista e selezionate “Create Schema”.
Date un nome al vostro nuovo DB (per es. test) e salvate le modifiche apportate. - Selezionare di nuovo “User Administrator”. Selezionate lo user che avete creato al passo 2 nella lista in basso a sinistra e poi selezionate “Schema Privileges”. Selezionare il nuovo DB creato al passo precedente. Selezionare i privilegi che vogliamo assegnare al nostro user sul DB di prova (dato che è solo una prova potete selezionare tutte le voci). Click sulla freccetta per spostare i privilegi nella colonna “Assigned Privileges”.
Fatto questo lo user avrà la possibilità di operare liberamente sul DB che abbiamo creato, creando tabelle, definendo constraints ed eseguire query (previa una certa dimistichezza con SQL) utilizzando MySQL Query Browser (Applications -> Programming -> MySQL Query Browser)
dove “vostro-user” è il nome dello user creato al passo 2 e “vostro-db” è il nome del DB creato al passo 3.
Ultima nota da tenere presente. MySQL viene installato di default come servizio, vale a dire come programma che parte all’avvio del sistema. È probabile che sul vostro desktop questa configurazione non sia ottimale: se si tratta di un database di test che usate solo in locale potreste valutare di disabilitarlo come servizio ed evitare di avere la porta 3306 perennemente aperta in ascolto. Per disabilitare il servizio: menù System -> Administration -> Services togliete il flag alla voce relativa a MySQL e chiudete la finestra. Il servizio verrà chiuso immediatamente e rimmarrà chiuso anche ai successivi riavvii dovrete perciò avviare MySQL a mano ogni volta ne avrete necessità. Essendo un servizio, troverete lo script in:
/etc/init.d
per cui potete avviarlo da terminale con il comando:
sudo /etc/init.d/mysql start
e stopparlo con:
sudo /etc/init.d/mysql stop
In ogni momento potete verificare lo stato del server MySQL con i seguenti due comandi da terminale:
ps -ef | grep mysql
per controllare se MySQL è tra i processi attivi sul vostro pc oppure:
sudo netstat -tap | grep MySQL
per evidenziare le porte e connessioni aperte da MySQL (sempre che sia avviato).
Altre utili informazioni sono disponibili al seguente link:
http://help.ubuntu-it.org/7.04/ubuntu/serverguide/it/databases.html




[…] [ Vedi ] (Nessun […]
[…] da cambiare la password del root di mysql e per questo passo ho trovato un’ottima guida qui (che descrive anche bene tutta l’installazione), però in questo passo ho avuto qualche […]
[…] Un link che ho trovato molto utile e a cui rimando per un discorso più approfondito dato che vado di fretta è questo […]
Grazie mille per la guida, mi è stata davvero utile, installato su ubuntu 7.10 perfettamente 🙂
grazie per la semplicita con cui hai trattato l’argomento.
Installato perfettamente su ubuntu 8.04
Ho istallato Ubunto e mysqladministrator… non riesco a vedere il contenuto delle tabelle nei database… devo istallare qualche tool particolare? Qualche idea?
ha funzionato tutto fino a quando non ho aperto il browser, ho richiamato il mio sito(basato su wordpress, l’ho installato..e ora richiamandolo…mi da una schermata bianca…perchè?
sei stato un grande sono riuscito a eseguire l’installazione di lamp, su ubuntu 8.10, passo dopo passo ..
Grazie
Fabio
Il mio prof di informatica dice che il tuo articolo va bene!!!
Grazie per le dritte! Installato perfettamente su Ubuntu 8.10 Intrepid
Utilissime le tue indicazioni, ti chiedo se con MYSQL Query Browser è anche possibile inserire i dati nelle tabelle senza eseeguire una query di tipo INSERT INTO, ma utilizzando uno strumento grafico. Me lo sono guardato, credo attentamente, ma non ho trovato nulla del genere.
grazie
ciao
sandra
in basso c’è un pulsante “edit” che ti da accesso ai vari campi, una volta terminati gli inserimenti dovrai fare “apply changes”
Salve, ho installato mysql5 sulla macchina ma quando vado per accedere dal “navicat” programma per gestione del database, fa un errore come se non fosse installato, adesso io vorrei sapere:
Devo aprire una qualche porta?
Cosa devo fare?
ma a che server mi devo collegare ?
Ottimo tutorial, grazie!
Ottima guida grazie !
Ho appena installato correttamente MySQL versione 5.154 su Ubuntu 11.04