L'installazione di MySQL porta con sè un gran numero di programmi che riguardano tutte le attività principali di amministrazione del DBMS. Si tratta, in
genere, di strumenti a riga di comando sebbene, come vedremo in seguito, esistono diversi tool visuali altrettanto completi.
In questa lezione presenteremo una panoramica complessiva degli strumenti, per poi proseguire con approfondimenti specifici.
Panoramica degli strumenti
Come molti altri DBMS, MySQL viene eseguito come servizio o, in altre parole, come daemon. Un servizio o demone è un programma in esecuzione
continua nel sistema operativo, il cui compito è quello di rimanere in attesa di richieste finalizzate alla fruizione di determinate funzionalità. Nel caso
dei DBMS, tutto lo scambio di dati con il demone avrà come scopo la gestione dei database.
Il demone alla base del DBMS prende il nome di mysqld. Insieme ad esso vengono forniti altri programmi per l'avvio del server: mysqld_safe, pensato per un avvio più sicuro del server, e mysqld_multi, che permette l'avvio di più server installati nel sistema.
Tra gli altri strumenti messi a disposizione, dedicati a varie attività dello sviluppatore e dell'amministratore del DBMS, vi sono:
- mysql: il client ufficiale per interagire con i database. Verrà trattato in seguito;
- mysqladmin, per lo svolgimento di ogni genere di operazione di configurazione del server;
- mysqlcheck, che si occupa della manutenzione delle tabelle;
- mysqldump, indispensabile per il backup. Anch'esso verrà trattato nel corso della guida;
- mysqlimport, che permette di importare tabelle nei database;
- mysqlshow, che fornisce informazioni su database, tabelle, indici e molto altro.
Il server: avvio, arresto e controllo
Nelle installazioni più comuni, mysqld viene avviato in automatico all’avvio del sistema. Possiamo verificare che esso sia in esecuzione con mysqladmin, che possiede un'apposita funzionalità di ping:
[code]
mysqladmin -u root -p ping
[/code]
Con questa istruzione, verrà richiesto da riga di comando, su qualunque sistema operativo, di effettuare un ping sul servizio. L'opzione -u
specifica che la richiesta è fatta come utente root, amministratore del DBMS, mentre -p impone la richiesta di password per l'utente.
Fornendo i corretti dati di autenticazione, se il DBMS è attivo, sarà stampato il messaggio “mysql is alive”; se invece non è attivo, verrà
sollevato un errore di connessione.
Un altro modo per controllare lo stato del demone è verificare la sua presenza tra i processi in esecuzione. Su Windows lo si potrà fare con il Task
Manager, mentre su Linux sarà solitamente sufficiente verificare l'output prodotto dal comando:
[code]
ps aux | grep mysql
[/code]
Il risultato mostrato dovrebbe presentare più righe, di cui una contenente il percorso al programma mysqld.
Qualora il server non fosse in esecuzione, per avviarlo sarà necessario ricorrere ad uno degli strumenti predisposti appositamente per questo scopo, come mysqld_safe. In molte installazioni attuali, il DBMS viene predisposto tra i servizi di sistema. In questi casi il modo migliore per avviarlo o
arrestarlo è utilizzare le apposite interfacce. Ad esempio, su Windows, si può utilizzare lo strumento Servizi di sistema accessibile tramite il
Pannello di Controllo. Tra gli altri servizi sarà presente anche quello relativo a MySQL e sarà sufficiente verificarne lo stato e modificarlo. Anche sui
sistemi Linux si possono avere opportunità simili. Ad esempio, nelle distribuzioni che usano il meccanismo Upstart come Ubuntu, Fedora ed altre,
la consueta installazione del DBMS permette di avviare, arrestare e verificare lo stato da riga di comando, rispettivamente, con i seguenti comandi:
[code]
service mysql start
service mysql stop
service mysql status
[/code]
Il client: interagire con MySQL
Per poter svolgere operazioni sui dati, il tipico client è il programma da riga di comando mysql.
Per prima cosa dobbiamo farci riconoscere. Le opzioni più comunemente utili in questo caso sono:
Opzione | Descrizione |
---|---|
-u o --user |
Per introdurre il nome utente |
-p o --password |
Per richiedere l'accesso con password, che sarà richiesta a meno che non venga fornita come parametro. Si faccia attenzione al fatto che, usando la forma -p , la password deve essere concatenata all'opzione (esempio: -ptopolino ) mentre nella forma estesa si deve usare il simbolo = (esempio: --password=topolino ), che risulta preferibile in quanto più leggibile
|
-h o --host |
Consente di specificare l'indirizzo IP o il nome della macchina su cui è in esecuzione il DBMS; il valore di default è localhost |
-P o --port |
Consente di specificare la porta TCP |
-D o --database |
Indica il nome del database cui si vorrà fare accesso |
Un esempio di autenticazione tramite il comando mysql
potrebbe quindi essere:
[code]
mysql -h mysql.mioserver.com -u dbadmin -p
[/code]
In risposta, verrà richiesto di fornire la password. Si avrà così accesso all'istanza in esecuzione all'indirizzo mysql.mioserver.com, come utente dbadmin.
Dopo il login, ci troveremo di fronte il prompt di MySQL. I primi comandi utili da imparare sono:
Comando | Descrizione |
---|---|
quit |
Per uscire dal programma mysql |
show databases; |
Per vedere i database accessibili tra quelli gestiti dal DBMS |
use |
Seguito dal nome del database, specifica su quale DB si vuole lavorare |
Nel prompt di MySQL, come vedremo, potranno essere eseguiti anche comandi e query SQL. In questo caso non va dimenticato che il comando dovrà essere concluso da un punto e virgola.