#format wiki
#language it
<
>
<>
<>
= Introduzione =
'''My``Sql''' è il più diffuso database open source basato sul linguaggio '''SQL'''. Questo prodotto viene fornito dall'azienda MySQL AB che eroga servizi basati sullo stesso '''My``Sql'''.
Un database è un insieme strutturato di dati, dalla lista della spesa, all'elenco dei titoli presenti in una grossa libreria. '''My``Sql''' 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 '''My``Sql''' 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 '''My``Sql'''. Alla fine di questo documento è possibile trovare i riferimenti alla documentazione ufficiale e ad alcune delle guide presenti in rete.
= Installazione =
Per installare '''My``Sql''' è necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] i pacchetti ''mysql-server'' e ''mysql-admin'', reperibili dai [[Repository|repository]] ufficiali.
Una volta installati i sopra citati pacchetti è probabile che, al primo avvio, si presentino dei problemi durante l'autenticazione da amministratore. Consultare [[/PasswordReset|questa]] guida per avere maggiori informazioni su come impostare una password di amministrazione.
= Configurazione =
Con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]], aprire il file {{{/etc/mysql/my.cnf}}} con un [[Ufficio/EditorDiTesto|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 [[AmministrazioneSistema/RigaDiComando|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
}}}
{{{#!wiki note
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 '''My``Sql''' 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
ON .
TO
IDENTIFIED BY ;
}}}
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 ON . FROM ;
}}}
= Operazioni di backup =
Per effettuare dei backup dei database gestiti da '''My``Sql''' consultare [[/BackupDatabase|questa]] guida.
= Ulteriori risorse =
* [[http://www.mysql.com/|Sito ufficiale del progetto]]
* [[http://database.html.it/guide/leggi/87/guida-mysql/|Piccola guida a MySql]]
* [[http://canone.ce.unipr.it/MySQLTutor/Home.htm|Tutorial per MySql]]
* [[http://database.html.it/guide/leggi/40/guida-linguaggio-sql/|Piccola guida al linguaggio SQL]]
----
CategoryServer CategoryDaRevisionare