Le maggiori distribuzioni di Linux comprendono, fra i pacchetti software disponibili, il server, il c1ient, le librerie condivise e alcuni moduli per l'interfacciamento di MySQL con il server Web Apache e i motori per realizzare pagine Web dinamiche con PERL e PHP Nella maggior parte dei casi il software necessario è già installato nella Linux box oppure è disponibile nei CD o nel DVD dell'installazione. Qui vedremo come installare MySQL partendo dal presupposto che non sia già installato nella vostra Linux box. Segnaliamo il sito ufficiale di MySQL (www.mysql.com) per scaricare il pacchetto relativo alla propria architettura (ad esempio x86). Ii passi da compiere sono i seguenti:
aggiungere al sistema l'utente mysql:
[root@mysqlserver -]# useradd mysqldecomprimere il pacchetto scaricato (ad esempio nella directory /root) nella directory /usr/local:
[root@mysqlserver -]# cd /usr/localcreare un collegamento simbolico alla directory appena creata e chiamarlo mysql
[root@mysqlserver local]# ln -s mysql-S.0.4S-linux-i686-icc-glibc23 mysqlassegnare come utente e gruppo alla directory usr /local/mysql l'utente root e il gruppo mysql:
[root@mysqlserver local]# chown -R root:mysql mysql-5.0.45-linux-i686-icc-glibc23 mysqlUna volta installato il software necessario occorre configurare il server. Il file di configurazione di MySQL si chiama /etc/my.cnf e va creato o editato tenendo conto di alcuni parametri. Nella directory /usr/local/mysql/support-tiles sono disponibili alcuni esempi di file di configurazione, riconoscibili dall'estensionE .ent, che possono essere modificati secondo le proprie esigeme e copiati o linkati in /etc/my.cnf. L'esempio di my.cnf, che troverete online all'indirizzo www.sprea.it/download/linuxpro/mysql/my_cnf.zip, illustra i parametri necessari per una corretta configurazione di un server su una Linux box con 1 G8 di RAM sulla quale MySQL sarà l'applicazione principale; in breve un server dedicato a MySQL. Si fa presente che tutte le directory indicate in questo file non esistono e che pertanto dovranno essere create con permessi tali per cui l'utente di sistema operativo mysql possa scrivere in esse e, per motivi di sicurezza, ne sia vietato l'accesso a tutti gli altri utenti. La maggior parte delle opzioni specificate in questo file so- no state spiegate nel capitolo precedente, quindi dovrebbero essere comprensibili. Una volta impostato il file di configurazione occorre creare le directory di lavoro e impostare in esse i permessi necessari:
Occorre poi eseguire come utente mysql lo script /usr/local/mysql/scripts/mysql_install_db:
L'ultimo comando può richiedere parecchio tempo per l'esecuzione, poiché al primo avvio MySQL crea tutti i file necessari. Siccome alcuni file sono particolarmente grandi, in particolare quelli specificati come tablespace per il sistema di gestione dati InnoOB (se avete seguito le specifiche dell'esempio verrà creato un file da 1 GB e uno da 100 MB), l'operazione può richiedere molto tempo. Una volta eseguito il comando ci si può connettere, come utente root senza password, digitando il comando:
Se si vuole evitare di riscrivere ogni volta il percorso completo, si può editare il file /etc/profile (Red Hat/Fedora) e modificarlo come descritto di seguito:
Negli esempi successivi eviteremo di scrivere il percorso completo dei comandi, assumendo che abbiate modificato il file /etc/profile .
Come impostazione predefinita, MySQL crea un account per l'utente root, senza una password, con accesso completo al data base. Per motivi di sicurezza, questo account deve essere immediatamente modificato ed è consigliabile crearne uno nuovo con privilegi di amministratore. La prima cosa da fare è, quindi, impostare una password per l'utente root; questo può essere fatto usando il programma mysqladmin, oppure dal monitor di MySQL. Di seguito sono descritti entrambi i metodi:
oppure
Con il successivo comando SQL, viene comunicato al server che il data base con cui si intende lavorare si chiama mysql.
Il comando SQL appena lanciato, che da questo momento in poi chiameremo query, mostra i campi host e user dalla tabella user contenuta nel data base mysql. Come si può notare, all'utente root è permesso di connettersi dall'host chiamato localhost e dall'host chiamato con il nome canonico del server. La differenza fra i due è che la connessione tramite localhost non usa l'interfaccia di rete ma il file socket impostato nel file di configurazione /etc/my.cnf (nell'esempio tale file era /tmp/mysql.sock). Oltre all'utente root, esiste un altro utente senza nome. Questo è l'utente anonimo di MySQL, che per default può accedere soltanto al database test. Tornando alla sicurezza di MySQL, per prima cosa, si imposta una password per l'utente root:
Con questa query viene aggiornata (UPDATE) la tabella user e viene impostato il campo password al valore restituito dalla funzione PASSWORD() che cripta la stringa di testo fornita come argomento. Successivamente, si crea un nuovo account, con privilegi di amministratore, in grado di connettersi anche da altri host:
Questa query, concede tutti i privilegi su tutti i data base e tutte le tabelle (il primo asterisco indica il nome del database e il secondo il nome della tabella) all'utente dbadmin al quale viene assegnata la password DbA_pAs5wOrD. Inoltre, allo stesso utente viene concesso il privilegio di assegnare a sua volta privilegi ad altri utenti (WITH GRANT OPTION). Volendo, si può assegnare allo stesso utente la possibilità di connettersi anche da localhost:
A questo punto si fa in modo che MySQL ricarichi la tabella dei privilegi:
Quindi, ci si può disconnettere dal server e per riconnettersi si dovranno usare uno dei due account disponibili:
oppure
In entrambi i casi, se non si fornisce la password, o la si fornisce errata, non sarà possibile accedere al server.
Web Master di webdesignfirenze.com, titolare di Siti web gallery che ha realizzato il sito.
Mansioni: Programmatore, web designer e Analista
Web design per la creazione siti web firenze insieme a tecniche di SEO Marketing per creare un sito di successo
Portfolio: gallery immobiliare per la vendita e l'acquisto di immobili di prestigio
Portfolio: impresa di pulizie per servizi di pulizia industriale