Problemi in questa pagina? Segnalali in questa discussione
Introduzione
MySql è il più diffuso database open source basato sul linguaggio SQL. Questo prodotto viene fornito dall'azienda MySQL AB che eroga servizi basati sullo stesso MySql.
Un database è un insieme strutturato di dati, dalla lista della spesa, all'elenco dei titoli presenti in una grossa libreria. MySql si occupa della strutturazione e della gestione a basso livello dei dati stessi, in modo da velocizzarne l'accesso, la modifica e l'inserimento di nuovi elementi. L'acronimo RDBMS significa "Relational Data-Base Management System" e sta ad indicare che MySql offre la possibilità di conservare i dati non in un enorme store-room ma in diverse tabelle, in modo da velocizzarne l'accesso. L'acronimo SQL significa Structured Query Language e indica il linguaggio standard per le interrogazione delle basi di dati.
La presente guida spiega l'uso delle funzioni principali di MySql. Alla fine di questo documento è possibile trovare i riferimenti alla documentazione ufficiale e ad alcune delle guide presenti in rete.
Installazione
Per installare MySql è necessario installare i pacchetti mysql-server e mysql-admin, reperibili dai repository ufficiali.
Una volta installati i sopra citati pacchetti è probabile che, al primo avvio, si presentino dei problemi durante l'autenticazione da amministratore. Consultare questa guida per avere maggiori informazioni su come impostare una password di amministrazione.
Configurazione
Con i privilegi di amministrazione, aprire il file /etc/mysql/my.cnf con un editor di testo, dunque cercare al suo interno una riga simile alla seguente:
bind-address = 127.0.0.1
All'indirizzo 127.0.0.1 va sostituito l'indirizzo IP del computer dove risiede il server.
È possibile configurare la connessione al server impostando il nome del computer sul quale risiede anziché l'indirizzo IP. Per fare ciò è necessario, sempre con i privilegi di amministrazione, modificare il file /etc/hosts, sostituendo l'indirizzo 127.0.0.1 con l'indirizzo IP di rete locale del computer stesso. Nel caso, per conoscere l'IP è possibile farlo digitando in un terminale il comando:
ifconfig
o facendo clic sull'icona delle connessioni di rete e poi su Informazioni connessione.
Qualora il nome del computer fosse troppo lungo o difficile da ricordare, può essere cambiato modificando il file /etc/hostname. Naturalmente anche il file etc/hosts dovrà essere modificato sostituendo il vecchio nome con quello nuovo.
Al termine sarà necessario riavviare il sistema affinché possa acquisire le nuove informazioni.
Gestione degli utenti
Impostare una password di amministrazione
A installazione ultimata, l'utente root potrà accedere senza password: sarà dunque necessario assegnargliene una quanto prima.
Per impostare la password di amministrazione è sufficiente lanciare il seguente comando:
mysqladmin -u root password pwd
La dicitura «pwd» va sostituita con la password desiderata.
Connessione al database
Digitare il seguente comando in una finestra di terminale:
mysql -h indirizzo_host -u nome_utente -p
Le diciture «indirizzo_host» e «nome_utente» vanno sostituite, rispettivamente, con l'IP del computer sul quale risiede il server MySql e con il proprio nome utente per l'accesso.
Verrà chiesta la password relativa all'utente inserito, dovrebbe apparire un messaggio simile al seguente:
Enter password:
Una volta inserita correttamente la password, il client restituirà un output simile al seguente:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 5.0.22-Debian_0ubuntu6.06-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
Da questo momento la connessione è stabilita e sarà dunque possibile digitare comandi da inviare al server.
Creare un nuovo utente
Il comando GRANT permette allo stesso tempo di creare un utente e di assegnargli dei permessi specifici:
GRANT <istruzioni_consentite> ON <database>.<tabella> TO <utente> IDENTIFIED BY <password>;
La sintassi proposta di seguito è molto semplice:
istruzioni_consentite Contiene una lista di istruzioni SQL che si vogliono permettere all'utente (CREATE, SELECT, UPDATE, DELETE, ALTER, EXECUTE, ecc.). Se si desidera dare all'utente permessi completi si può utilizzare la parola chiave ALL.
database Il database al quale applicare le modifiche.
tabella Il nome della tabella alla quale applicare le modifiche. Se si desidera applicare le modifiche a tutte le tabelle del database in questione è utile usare il carattere asterisco *.
utente L'utente da creare.
password Assegna una password al nuovo utente.
Ad esempio, è possibile consentire all'utente «tizio» di eseguire interrogazioni SELECT, aggiornamenti UPDATE, eliminazioni DELETE sul database «miodatabase», digitando il seguente comando:
GRANT SELECT,UPDATE,DELETE ON miodatabase.* TO tizio@localhost IDENTIFIED BY 'miapasswd';
È stata concessa all'utente «tizio» la possibilità di agire sul database collegandosi dalla macchina locale dove risiede il server.
L'istruzione REVOKE svolge la funzione opposta a GRANT, serve, cioè, a revocare i permessi. La sintassi è molto simile a quella dell'istruzione GRANT:
REVOKE <istruzioni_revocate> ON <database>.<tabella> FROM <utente>;
Operazioni di backup
Per effettuare dei backup dei database gestiti da MySql consultare questa guida.