Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Server/MySql"
Differenze tra le versioni 13 e 52 (in 39 versioni)
Versione 13 del 03/05/2007 07.07.39
Dimensione: 9576
Commento: revisionata creare un nuovo utente, terminata revisione gestione utenti
Versione 52 del 13/10/2021 16.42.08
Dimensione: 6613
Autore: ivantu
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
[[BR]]
||<tablestyle="font-size: 18px; text-align: center; width:100%; background:red; margin: 0 0 0 0;" style="padding:0.5em;">'''ATTENZIONE! [[BR]][[BR]] Questa pagina è in revisione! '''||
[[BR]]
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]||
<<BR>>
<<Indice(depth=1)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=75812")>>
Linea 11: Linea 9:
attachment:logo.gif '''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'''.
Linea 13: Linea 11:
'''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. '''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 di velocizzarne l'accesso. L'acronimo '''SQL''' significa ''Structured Query Language'' ed indica il linguaggio standard per le interrogazione delle basi di dati.
Linea 15: Linea 13:
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 di velocizzarne l'accesso. L'acronimo '''SQL''' significa ''Structured Query Language'' ed 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.
Linea 17: Linea 15:
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 =
Linea 19: Linea 17:
== Installazione == Per installare '''My``Sql''' è necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] i pacchetti ''mysql-server'' e ''mysql-admin'', reperibili dai [[Repository|repository]] ufficiali.
Linea 21: Linea 19:
Per installare '''MySql''' è necessario installare i pacchetti ''mysql-server'' e ''mysql-admin'', reperibile dai [:Repository:repository] ufficiali, con uno fra i vari strumenti messi a disposizione dal sistema: [:SynapticHowto:Synaptic], [:AdeptHowTo:Adept] e [:Apt:apt-get]. 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.
Linea 31: Linea 48:
mysqladmin u root -p pwd mysqladmin -u root password pwd
Linea 34: Linea 51:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''La dicitura «pwd» va sostituita con la password desiderata.'' || {{{#!wiki note
La dicitura «pwd» va sostituita con la password desiderata.}}}
Linea 36: Linea 54:
== Connettessione al database == == Connessione al database ==
Linea 38: Linea 56:
Lanciare il seguente comando da terminale: Digitare il seguente comando in una finestra di terminale:
Linea 43: Linea 61:
Le diciutre «indirizzo_host» e «nome_utente» vanno sostituite, rispettivamente, con l'IP del server e con il proprio nome utente per l'accesso. 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.
Linea 45: Linea 63:
'''MySql''' chiederà la password relativa all'utente inserito, dovrebbe apparire un messaggio simile al seguente: Verrà chiesta la password relativa all'utente inserito, dovrebbe apparire un messaggio simile al seguente:
Linea 50: Linea 68:
Una volta inserita correttamente la password richiesta, il client restituirà un output simile al seguente: Una volta inserita correttamente la password, il client restituirà un output simile al seguente:
Linea 72: Linea 90:
La sintassi qui proposta è molto semplice: La sintassi proposta di seguito è molto semplice:
Linea 80: Linea 98:
 * '''utente''' L'utente da creare. [[BR]]  * '''utente''' L'utente da creare. <<BR>>
Linea 96: Linea 114:
= Gestione dei database = = Operazioni di backup =
Linea 98: Linea 116:
== Vedere l'elenco dei database esistenti ==
Lavori in corso: portate pazienza...

Dopo essersi connessi a MySql, sarà possibile visualizzare l'elenco di tabelle in esso contenute:
{{{
SHOW DATABASE;
}}}
Ecco il risultato:
{{{
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| dbstinko |
| mysql |
+--------------------+
4 rows in set (0.00 sec)

mysql>
}}}
''Nota: tutte le righe di comando in MySql, finiscono con ";" (punto e virgola)''

== Selezionare un dadabase ==
Lavori in corso: portate pazienza...

Ora che sappiamo quali data-base sono presenti, possiamo selezionarne uno su cui lavorare:
{{{
USE dbstinko;
}}}
Ecco la risposta:
{{{
Database changed
mysql>
}}}
Probabilmente voi non avrete un data-base "dbstinko"...

== Creare un database ==
Lavori in corso: portate pazienza...

Per creare il data-base "prova" su cui fare i primi test:
{{{
CREATE DATABASE prova;
}}}
Ecco la risposta:
{{{
mysql> create database prova;
Query OK, 1 row affected (0.00 sec)

mysql>
}}}
Verifichiamo:
{{{
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| dbstinko |
| mysql |
| prova |
+--------------------+
4 rows in set (0.00 sec)

mysql>
}}}
Perfetto... ;-)

== Cancellare un database ==
Per cancellare il database appena creato, usate il comando:
{{{
DROP DATABASE prova;
}}}
Ecco la risposta:
{{{
mysql> drop database prova;
Query OK, 0 rows affected (0.00 sec)

mysql>
}}}
Ok, ora ricreatelo... Tornerà utile.

= Gestione delle tabelle =

== Vedere l'elenco delle tabelle del db selezionato ==
Lavori in corso: portate pazienza...

== Selezionare una tabella ==
Lavori in corso: portate pazienza...

== Creare una tabella ==
Lavori in corso: portate pazienza...

=== Tipi di campo disponibili ===
Quelli che seguono sono i tipi di campo disponibili per la creazione dei nostri database. [[BR]]
'''''TINYINT''''' Valore numerico compreso tra -128 e 127 [[BR]]
'''''TINYINT UNSIGNED''''' Valore numerico compreso tra 0 e 255 [[BR]]
'''''SMALLINT''''' Valore numerico compreso tra -32768 e 32767 [[BR]]
'''''SMALLINT UNSIGNED''''' Valore numerico compreso tra 0 e 65535 [[BR]]
'''''MEDIUM''''' Valore numerico compreso tra -8388608 e 8388607 [[BR]]
'''''MEDIUM UNSIGNED''''' Valore numerico compreso tra 0 e 16777215 [[BR]]
'''''INT o INTEGER''''' Valore numerico compreso tra -2147483648 e 2147483647 [[BR]]
'''''INT UNSIGNED''''' Valore numerico compreso tra 0 e 4294967295 [[BR]]
'''''BIGINT''''' Valore numerico compreso tra -9223372036854775808 e 9223372036854775807 [[BR]]
'''''BIGINT UNSIGNED''''' Valore numerico compreso tra 0 e 18446744073709551615 [[BR]]
'''''FLOAT (m,d)''''' Valore numerico con valori decimali. Compreso tra -3.402823466E+38 e -1.175494351E-38 [[BR]]
'''''DOUBLE(m,d) o REAL(m,d)''''' Valore numerico con valori decimali. Compreso tra -1.7976931348623157E+308 e -2.2250738585072014E-308 [[BR]]
'''''DECIMAL (m,d) o NUMERIC(m,d)''''' Valore numerico con decimali che sarà memorizzato come una serie di caratteri [[BR]]
'''''DATE''''' Campo contenente una data in formato "aaaa-mm-gg" [[BR]]
'''''DATETIME''''' Campo contenente la data e ora, informato "aaaa-mm-gg hh:mm:ss" [[BR]]
'''''TIME''''' Campo contente un’ora nel formato: "hh:mm:ss" [[BR]]
'''''CHAR''''' Campo contenente una stringa di caratteri che può avere la massina lughezza di 255 [[BR]]
'''''TINYBLOB o TINYTEXT''''' Campo che può avere la massima lunghezza di 255 in formato binario nel primo caso o testo nel secondo [[BR]]
'''''BLOB o TEXT''''' Campo che può avere la massima lunghezza di 65535 in formato binario nel primo caso o testo nel secondo [[BR]]
'''''MEDIUMBLOB o MEDIUMTEXT''''' Campo che può avere la massima lunghezza di 16777215 in formato binario nel primo caso o testo nel secondo [[BR]]
'''''LONGBLOB o LONGTEXT''''' Campo che può avere la massima lunghezza di 4294967295 in formato binario nel primo caso o testo nel secondo [[BR]]
'''''ENUM (‘value1’,’value2’,…)''''' Campo che può contenere uno dei valori presente tra le parentesi [[BR]]
Per effettuare dei backup dei database gestiti da '''My``Sql''' consultare [[/BackupDatabase|questa]] guida.
Linea 217: Linea 119:
http://www.mysql.com/ [[BR]]
http://database.html.it/guide/leggi/87/guida-mysql/ [[BR]]
http://canone.ce.unipr.it/MySQLTutor/Home.htm [[BR]]
http://database.html.it/guide/leggi/40/guida-linguaggio-sql/ [[BR]]
Linea 222: Linea 120:
##CategoryServer  * [[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]]
Linea 224: Linea 126:
CategoryDaRevisionare CategoryServer CategoryDaRevisionare


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 di velocizzarne l'accesso. L'acronimo SQL significa Structured Query Language ed 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

Ad 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 di 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';

È stato 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.

Ulteriori risorse


CategoryServer CategoryDaRevisionare