venerdì 2 luglio 2010

Linux: installazione di MySQL

In questo breve articolo vi propongo l'installazione di MySQL su Xubuntu 9.10 (e Ubuntu in generale) e la risoluzione di alcuni possibili errori. Come sempre preferisco procedere attraverso la riga di comando. MySQL si compone di un client e di un server, ecco quindi che per l'installazione occorre dare il seguente comando:

sudo apt-get install mysql-server mysql-client

Nei repository di Ubuntu è presente la versione 5.1 di MySQL. Chi vuole può anche provare l'installazione del pacchetto mysql-navigator, che fornisce un interfaccia grafica ai database (il cui sviluppo è tuttavia fermo da tempo). Durante la fase di configurazione di MySQL ci verrà presentata una schermata come quella che segue:


L'installer ci sta chiedendo di digitare la password per l'account root che userà MySQL (per sicurezza ci verrà chiesto due volte). Dopo l'installazione il server di MySQL viene eseguito di default ed è quindi in attesa di connessioni al database. Possiamo allora avviare una sessione con il client di MySQL digitando il seguente comando: mysql -u root -p, dove con l'opzione -u si specifica il nome dell'utente e con -p si dice al client che verrà indicata la password per l'account su una riga a parte (con mysql --help si ottiene un elenco dei comandi per il client). Ecco un'immagine:


Per fermare il server MySQL va lanciato il comando sudo /etc/init.d/mysql stop, per avviarlo sudo /etc/init.d/mysql start e per riavviarlo sudo /etc/init.d/mysql restart. Veniamo a qualche errore (noto) che si può presentare usando MySQL.
L'errore "Could not start service MySQL. Error:0" si verifica quando è in esecuzione un servizio con lo stesso nome, MySQL appunto. Può ad esempio capitare quando riavviamo il server e il precedente processo non si è ancora chiuso (oppure non si chiude). Se la situazione permane, pur aspettando, si consiglia di disinstallare MySQL e di ripetere l'installazione.
L'errore "ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)" si verifica quando la password digitata nel client non è quella nota al server di MySQL.


Sicuri di ricordare bene la password? Sicuri di averla inserita in fase di installazione? In quest'ultimo caso provate a premere "Invio" quando vi viene chiesta la password, se funziona allora la password non era stata impostata!
Se non riuscite a ricordare la password inserita durante l'installazione è possibile ripristinarne il valore in questo modo: dare prima il comando sudo killall mysqld (per terminare il processo) e successivamente mysqld --skip-grant-tables (che avvia il processo daemon senza le tabelle per i permessi), attendere che le scritte sul terminale si stabilizzino e lasciare aperta questa finestra di terminale; aprire una nuova finestra e avviare il client MySQL con mysql; nella finestra appena aperta collegarsi al database di nome mysql con il comando use mysql; (ogni istruzione MySQL termina con un punto e virgola); aggiornare il campo password dell'utente con UPDATE user SET password=password("ciao") WHERE user="root"; (che imposta come password per l'utente root la stringa ciao); per finire date i comandi flush privileges; ed exit, (chiudete la prima finestra, quella bloccata). Ecco qualche immagine di supporto, qui potete vedere la finestra bloccata:


Questa, invece, è la finestra usata per collegarsi al client di MySQL per impostare la nuova password:

Nessun commento:

Posta un commento