CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre 2005 1 Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.

Slides:



Advertisements
Presentazioni simili
VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
Advertisements

CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
MODULO 4 – Il Foglio elettronico
DBMS (DataBase Management System)
Sicurezza e concorrenza nelle basi di dati
Stored Procedure Function Trigger
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
1 Comandi per la manipolazione dei dati. 2 Tipi di comandi INSERT UPDATE DELETE COMANDI COMANDI 2.
Connessione con MySQL.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
1 Stampa dei dati - 1 I dati visualizzati, provenienti sia da tabelle che da query, possono essere stampati selezionando lopzione Stampa dalla voce di.
SQL Structured Query Language
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
SQL Per la modifica di basi di dati
Le transazioni Itis Max Planck.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
INSTALLAZIONE IN LOCALE
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Transazioni.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Manipolazione dei dati
Esempi di analisi dati con ROOT
Creazione di un database MySQL
Backup and Migrate, Captcha ReCaptcha e Spamicide Docente: Simone Zambenedetti. Moduli per la Sicurezza.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
BASI DI DATI - MySql Centro di Ateneo per i Servizi Informatici
DATABASE Introduzione
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Microsoft Access Chiavi, struttura delle tabelle.
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( D’ora in poi, in questi lucidi, il vostro utente oracle.
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
SQL*PLUS Worksheet Permette di:
Pagine ASP parte 3 I data base Stefano Schacherl.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Microsoft Access Maschere (II).
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Microsoft Access Query (III).
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
MySQL Database Management System
E 1.1 Esercizo sqlplus CREAZIONE UTENTE Connettetevi alla seguente URL: Identificatevi come: Username:
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Esercizio ODBC Roberto Pecchioli, Nicola Salotti, Massimiliano Sergenti - Gruppo Admin.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Vincoli interrelazionali
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
IV Corso di formazione INFN per amministratori di siti GRID Tutorial di amministrazione DGAS Giuseppe Patania.
04/06/2016Francesco Serafini INDICO Corso Nazionale Novembre 2007.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.
Transcript della presentazione:

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma possiamo definire altri utenti con diritti più o meno limitati a seconda delle funzioni che devono svolgere. MySQL considera il nome utente/password e il nome della macchina (server locale se omesso) per la fase di identificazione. Tutti i dati relativi ai privilegi vengono registrati nel database creato automaticamente in fase di installazione del server e denominato mysql. Un utente può essere creato (*) esplicitamente, inserendo un record relativo allutente nella tabella mysql.user (database mysql, tabella user): mysql> INSERT INTO mysql.user (host,user,password) VALUES('%','gigi',PASSWORD('pwd')); (*) a partire dalla versione di MySQL, per creare un utente è possibile anche utilizzare listruzione CREATE USER nome_utente IDENTIFIED BY 'password'

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 2 … e un record nella tabella mysql.db: mysql> INSERT INTO mysql.db (host, db, user, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv) VALUES ('%','esami_studenti',gigi', 'Y', N', N', N', 'N', 'N'); Infine è necessario ricaricare in memoria la lista dei diritti aggiornata: mysql> FLUSH PRIVILEGES; Dopo queste operazioni lutente gigi potrà collegarsi al solo database esami_studenti per visualizzare i dati. NOTA: per collegarsi ad una macchina diversa da quella locale bisogna definire il parametro host (-h) allavvio del client: C:\>mysql -h nome_macchina -u nome_utente -p

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 3 Possiamo creare un utente in modo implicito con listruzione GRANT: mysql> GRANT SELECT ON video_xxx.* TO IDENTIFIED BY pwd; In questo caso non è necessario eseguire il FLUSH in quanto laggiornamento è immediato. Lasterisco (.*) indica tutte le tabelle, se avessimo indicato lasterisco anche come nome del database, il privilegio sarebbe stato concesso per tutti i database (*.*). E possibile utilizzare la clausola ALL [PRIVILEGES] al posto della SELECT per consentire tutte le operazioni sul database. Una volta concessi tutti i privilegi ad un utente, è possibile visulizzarli col comando: mysql> SHOW GRANTS FOR gigi;

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 4 Per togliere un privilegio ad un utente usiamo listruzione REVOKE: mysql> REVOKE INSERT ON video_xxx.* FROM Per rimuovere un utente: mysql> DELETE FROM mysql.user WHERE user='gigi' AND host='localhost'; mysql> FLUSH PRIVILEGES; Oppure, solo dopo avere rimosso tutti i privilegi per lutente: mysql> DROP USER Altri comandi, dallovvio significato, relativi allutenza: mysql> SELECT CURRENT_USER(); mysql> SET PASSWORD FOR mysql> SELECT host, user FROM mysql.user; Nota: se al posto del nomehost mettiamo %, concediamo il privilegio per tutti gli host.

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Esercitazione 4.1 Create lutente con i seguenti privilegi sul database video_xxx: 1 – Selezione di dati da tutte le tabelle 2 – Possibilità di aggiungere, aggiornare ed eliminare (INSERT, UPDATE, DELETE) dati dalle tabelle attori ed registi Collegatevi al database con lutenza mionome ed aggiornate il nome dellattore con codice 2 a George. Inserite un nuovo regista nel database: Codice_regista: 50 Cognome: Nero Nome: Franco

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Salvataggio e ripristino dei dati 1 In MySQL il database è memorizzato in normali files, per cui farne il backup è relativamente semplice. 1-Possiamo semplicemente fare una copia di tutta la cartella MySQL. 2-Possiamo anche usare il comando mysqldump: C:\>mysqldump video_xxx -u root -p --tab= "C:\Programmi\MySQL\MySQL Server 4.1\data\backups (--tab consente di creare per ogni tabella due files, DDL e dati, nella cartella indicata) C:\backups>mysqldump --all-databases -u root -p > completo.dmp C:\backups>mysqldump video_xxx -u root -p > video.dmp NOTA: per specificare la password (in modo da schedulare il salvataggio) è possibile utilizzare lopzione --password=password_utente al posto di -p che è interattivo.

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Salvataggio e ripristino dei dati 2 Per effettuare il backup solo di alcune tabelle, è possibile usare lopzione --tables: C:\backups>mysqldump video_xxx --tables attori prestiti -u root - p > attori_prestiti.dmp Per ripristinare i dati, basta passare al comando mysql il file contenente DDL e dati. Per testare la funzione, eliminiamo e ripristiniamo la tabella prestiti: 1-facciamo il backup della tabella prestiti: C:\backups>mysqldump video_xxx --tables prestiti -u root -p > prestiti.dmp 2-cancelliamo la tabella: mysql>drop table prestiti; 3-ripristiniamo la tabella: C:\backups>mysql video_xxx -u root -p < prestiti.dmp;

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Import dei dati - 1 Per caricare dati esterni in MySQL è possibile utilizzare due strumenti: 1.il comando mysqlimport, lanciato dalla shell del sistema operativo. Per ogni file di testo indicato sulla linea di comando, mysqlimport non tiene conto della estensione ed usa la parte rimanente per determinare il nome della tabella nella quale importare il dati del file di testo. Creiamo un file di testo di nome attori.txt, nella cartella c:\backups, col seguente contenuto: 51;Marlon;Brando 52;Kirk;Douglas ed un altro file di nome registi.txt col seguente contenuto: 51;Oliver;Stone 52;Sergio;Leone Per importare i dati nel database possiamo procedere nel seguente modo:

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Import dei dati - 2 C:\backups>mysqlimport video_xxx -u root -p --fields-terminated-by=";" c:\backups\attori.txt C:\backups>mysqlimport video_xxx -u root -p --fields-terminated-by=";" c:\backups\registi.txt ovviamente, lopzione --fields-terminated-by consente di specificare il separatore dei campi che, altrimenti, sarebbe il tabulatore (\t). 2. Laltro sistema per importare i dati è quello di utilizzare il comando SQL LOAD DATA. Creiamo un altro file di nome attori2.txt col seguente contenuto: 60;Sergio;Castellitto 61;Jane;Fonda Per importare i dati nel database possiamo eseguiamo: mysql> LOAD DATA INFILE C:\\backups\\attori2.txt' INTO TABLE attori FIELDS TERMINATED BY ';';

CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Esercitazione Effettuare il backup completo del database mysql nel file mysql.dmp 2.Effettuare il backup delle tabelle clienti, attori e film del database video_xxx nel file video.dmp 3.Creare il database db_video 4.Ripristinare nel database appena creato le tabelle clienti, attori e film 5.Effettuare il backup del database db_video nella cartella C:\backups facendo in modo che per ogni tabella vi siano due files, uno per il DDL ed un altro per i dati; 6.Il file di testo registi2.txt contiene due righe: 75;Franco;Zeffirelli 76;Roberto;Benigni Scrivere i comandi per importare i dati nella tabella registi del database video_xxx (via S.O. e via SQL)