Utilizzo dei principali comandi di Mysql

313 views

Published on

Comandi di mysql per amministrazione DBMS

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
313
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Utilizzo dei principali comandi di Mysql

  1. 1. Gestione di Mysql In questa lezione vedremo la gestione del DBMS Mysql Prof. Giuseppe Sportelli
  2. 2. Programmi di mysql Mysqld programma server Mysql programma client Mysqladmin programma amministrativo Mysqlimport programma per importare dati da file di testo in vari formati Mysqldump programma per fare backup di database e tabelle Winmysqladmin programma per la gestione visuale in Windows del DBMS
  3. 3. Mysld Mysqld è il programma server che deve essere mandato in esecuzione affinché i client si possano collegare e gestire le tabelle e i database. Esso può essere avviato con vari parametri di avvio. Normalmente i parametri di avvio sono scritti in un file di configurazione di nome my.cnf. In linux tale file è locato in /etc In Windows in genere nella cartella principale di mysql o in bin
  4. 4. Parametri importanti del file my.cnf Port numero di porta TCP utilizzata di solito 3306 Password la password da passare da chiedere ai client per collegarsi come root Basedir, tmpdir, datadir le cartelle dove sono locati i file binari, i file temporanei e i database Old-passwords imposta le password nello stile precedente compatibile con mysql versioni prima della 4.1 Character-server indica la codifica ASCII del Server conviene impostarla a utf8 Collation-server indica la codifica ASCII del Server per definire le regole di controllo e confronto su dati di tipo carattere. Skip-bdb se non si vuole utilizzare il metodo BDB per le tabelle Skip-innodb se non si vuole utilizzare il metodo InnoDB per le tabelle Se attivo InnoDB devo impostare una serie di parametri come mostrato nella figura.
  5. 5. Parametri aggiuntivi di InnoDB
  6. 6. Abilitare InnoDB Per abilitare il motore InnoDB occorre abilitare alcune voci in my.cnf o passarle al servente all'avvio. InnoDB è il motore che supporta la chiavi esterne e le relazioni. Bisogna commentare skip-innodb nel file citato e abilitare le impostazioni successive.
  7. 7. Salvataggio delle modifiche Una volta modificate le impostazioni riavviare il server mysqld per applicare le nuove modifiche Il collegamento al server avviene mediante il programma mysql. La sintassi del programma client prevede vari parametri due obbligatori e uno opzionali. Le prime due opzioni sono il nome utente e le password che devono essere disponibili per gli utenti del database. Se la macchina servente è locale si omette il parametro host. Invece se il servente è su un'altra macchina si deve specificare il nome del server o l'indirizzo IP.
  8. 8. Sintassi del comando mysql Mysql -h nome server -u utente -p[password]
  9. 9. Programma mysqladmin.exe E' il programma amministrativo che permette la gestione del DBMS Permette di cambiare le passowrd degli utenti mediante il parametro passwrd o old-passowrd (per compatibilità con Mysql 4.1) Permette di ricaricare le tabelle dei privilegi con l'opzioni flush-privileges il comando è eseguibile solo da utenti abilitati. E' utile per i comandi SQL di tipo DCL (Database Control Language) come GRANT e REVOKE.
  10. 10. Sintassi del comando mysqladmin mysqladmin -u utente -p[password] -h nome server [opzioni] mysqladmin -u utente -p[password] -h nome server password nuova password Questo comando cambia la password all'utente mysqladmin -u utente -p[password] -h nome server flush-privileges Ricarica le tabelle dei privilegi
  11. 11. Organizzazione delle tabelle dei privilegi Il database che contiene i privilegi è mysql Tale database contiene innumerevoli tabelle le più importanti sono: db, user, host, columns_privs. Nella tabella user sono presenti una serie di colonne fra cui db, user,host,password ovvero il nome del database, l'utente, e i client permessi all'accesso al database specifico e la password criptata. Nella tabella host sono presenti l'insieme dei client consentiti ad un utente specifico. Nella tabella db sono presenti il nome dei database, degli host abilitati all'accesso e il nome dell'utente. Insieme a questi campi sono presenti le abilitazioni ai vari tipi di operazioni come Inserimento, Modifica dati, Interrogazione, Modifica Struttura, e modifica dei privilegi.
  12. 12. Organizzazione delle tabelle dei privilegi Il database che contiene i privilegi è mysql Tale database contiene innumerevoli tabelle le più importanti sono: db, user, host, columns_privs. Nella tabella user sono presenti una serie di colonne fra cui db, user,host,password ovvero il nome del database, l'utente, e i client permessi all'accesso al database specifico e la password criptata. Nella tabella host sono presenti l'insieme dei client consentiti ad un utente specifico. Nella tabella db sono presenti il nome dei database, degli host abilitati all'accesso e il nome dell'utente. Insieme a questi campi sono presenti le abilitazioni ai vari tipi di operazioni come Inserimento, Modifica dati, Interrogazione, Modifica Struttura, e modifica dei privilegi.
  13. 13. Creazione delle utenze Nella creazione delle utenze si deve stabilire quindi che cosa può fare l'utente da quale host, e su quali database. Nella norma se il server mysql deve funzionare con utenze multiple ad esempio nell'hosting di servizi web ciascun utente deve agire solo sui propri database e non visualizzare nulla degli altri. L'utente “root“ in genere non deve essere utilizzato e deve avere accesso solo dalla macchina locale per motivi di sicurezza.
  14. 14. Ulteriori considerazioni di sicurezza Per situazioni molto critiche si possono utilizzare connessioni ssl E' possibile consentire le operazioni in modo selettivo solo da certi host. Se ad esempio l'utente che gestisce il database si collega sempre dallo stesso IP si abilita solo quell'IP. E' possibile utilizzare mysql in un tunnel ssh. Nella buona sostanza do accesso al server mediante ssh e accedo al server mysql solo da locale.
  15. 15. Gestione di Mysql In questa lezione vedremo la gestione del DBMS Mysql Fine Unità Prof. Giuseppe Sportelli

×