Ogni distribuzione Linux ha al suo interno il pacchetto per la gestione dei database MySQL, in questo articolo vedremo gli strumenti a riga di comando per amministrarlo, ben sapendo che la maggior parte degli utenti utilizza PHPMyAdmin oppure Webmin o altro strumento per fare questo lavoro con l’ausilio di una bella interfaccia utente. Personalmente ritengo che saper utilizzare gli strumenti di amministrazione a riga di comando sia utile non solo per lavorare con semplici shell come SSH, ma anche per vedere come il data-engine gestisce i dati e quindi saper migliorare le prestazioni del sistema.
Di solito, nelle maggiori distribuzioni Linux, l’utente standard amministratore di MySQL è lo stesso del sistema che lo ospita, di solito ha anche la stessa password, se così non fosse occorre impostare quest’ultima ricorrendo al comando mysqladmin.
mysqladmin -u root -pmypass password xxxxxx
Questo strumento permette infatti all’amministratore di regolare la vita di tutto il database server, in questo caso di cambiare la password per l’utente root, avente la password mypass, ad xxxxxx. Per eseguire un comando sul server si deve indicare il nome utente ( -u ), la password ( -p ) e nei casi in cui non siamo su localhost, anche l’host ( -h ) da richiamare. Per creare il database “test” su una macchina remota, alla quale l’utente root ha accesso non solo da localhost, si utilizza questo comando:
mysqladmin -u root -pmypass -h myserver create test
Se si omette la password dopo l’opzione -p il comando la chiederà successivamente. Il programma mysqladmin è quindi quello fondamentale per la gestione di base di MySQL, infatti con esso è possibile creare, cancellare database, cambiare password, controllare o fermare il server. La sintassi del comando è:
mysqladmin [opzioni] comando
Le opzioni sono quelle standard viste prima, mentre i principali comandi sono:
Una volta terminata la fase di creazione dei database di cui abbiamo bisogno, è necessario strutturare le tabelle e tutto quello che serve per i nostri dati. Per questo dobbiamo utilizzare un altro programma che rappresenta l’utilità principale del server, il comando è mysql. Attraverso questo comando è possibile dare tutti i comandi SQL direttamente sui dati, sia per trattare quelli memorizzati che crearne le strutture. Come per il precedente programma, anche in questo caso dobbiamo inserire le opzioni viste precedentemente, in più abbiamo la possibilità di indicare il database che si vuole utilizzare:
mysql [opzioni] [database]
Una volta entrati all’interno del database troveremo il classico messaggio di benvenuto ed il prompt dei comandi MySQL che ci attende per la digitazione. Nel caso non avessimo scelto il database iniziale è possibile farlo successivamente utilizzando il comando use <nomedb>;. il punto e virgola finale è essenziale per indicare che il comando che stiamo inserendo è terminato. Per conoscere i comandi interni è possibile digitare “\?”. Al nostro database “test” che abbiamo creato precedentemente, possiamo aggiungere una tabella “clienti” con solo il cognome ed il nome, vediamo come fare:
mysql -u root -pxxxxxx test
mysql> create table clienti (nome char(50), cognome char(50));
mysql> insert into clienti (nome, cognome) values(‘Mario’, ‘Rossi’);
mysql> select * from clienti;
mysql> quit
Con questa serie di istruzioni abbiamo creato la nostra tabella ed abbiamo inserito un record, quindi abbiamo verificato i dati inseriti e poi siamo usciti.
Come potete capire abbiamo bisogno di utilizzare dei comandi molto lunghi in linguaggio SQL che potrebbero dare problemi. Esiste tuttavia un modo per sollevarci da questo gravoso compito, utilizzare cioé le pipe ed inviare a mysql il contenuto di un file. Inseriamo all’interno di un file ( test.sql ) i nostri comandi:
use test;
select * from clienti;
ora è possibile inviare i nostri comandi SQL dando questo comando da shell:
mysql -u root -pxxxxxx < test.sql
come potete osservare abbiamo evitato di dare i comandi direttamente nella shell di mysql, in questo modo è possibile scrivere delle istruzioni anche complesse.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→