Progetto

Generale

Profilo

MySQLInitConf » Cronologia » Versione 16

Versione 15 (Amministratore Truelite, 07-11-2009 00:47) → Versione 16/25 (Amministratore Truelite, 07-11-2009 00:47)

[[TracNav(TOC)]] 

 h1. 
 = Configurazione di base per [[MySQL]] 
 

 MySQL =  

 La configurazione di base di [[MySQL]] MySQL eseguita da Debian subito dopo l'installazione del pacchetto consente l'accesso database con l'utente di amministrazione _root_ ''root'' senza password. Per questo motivo il primo passo da fare, immediatamente dopo l'installazione, è impostare una password per _root_; ''root''; questo si fa con il comando: 

 <pre> 
 {{{ 
 /usr/bin/mysqladmin -u root password [[NuovaPassword]] NuovaPassword 
 </pre> 

 }}} 

 Se invece si è persa la password di _root_ ''root'' del database il precedente 
 comando non funziona in quanto una volta impostata detta password questa diventa 
 necessaria per poterlo utilizzare. Per questo per poterla recuperare (o meglio resettare) occorre 
 seguire la seguente procedura. Il primo passo è fermare il database e farlo 
 ripartire senza meccanismi di controllo di autenticazione, questo si fa con i comandi: 

 <pre> 
 {{{ 
 /etc/init.d/mysql stop 
 /usr/bin/mysqld_safe --skip-grant-tables --skip-networking & 
 </pre> 

 }}} 

 a questo punto ci si potrà collegare al database direttamente con: 

 <pre> 
 {{{ 
 mysql -u root 
 </pre> 

 }}} 

 ottenendo una shell SQL con privilegi di amministrazione; qui si potrà modificare la password impostata per l'utente _root_ ''root'' tramite le seguenti istruzioni: 

 <pre> 
 {{{ 
 use mysql; 
 UPDATE user SET Password=PASSWORD("NuovaPassword") WHERE User="root"; 
 exit 
 </pre> 

 }}} 

 fatto questo la passord di _root_ ''root'' è stata modificata e si potrà fermare il 
 database e riavviarlo con: 

 <pre> 
 {{{ 
 /etc/init.d/mysql stop 
 /etc/init.d/mysql start 
 </pre> 

 }}} 

 Dopo di che si potrà verificare che l'accesso è possibile con la nuova 
 password con: 

 <pre> 
 {{{ 
 server:~# mysql -u root -p 
 Enter password: 
 Welcome to the [[MySQL]] MySQL monitor.    Commands end with ; or \g. 
 Your [[MySQL]] MySQL connection id is 9 to server version: 4.0.24_Debian-5-log 

 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

 mysql> show databases; 
 +-------------+ 
 | Database      | 
 +-------------+ 
 | mysql         | 
 | test          | 
 +-------------+ 
 2 rows in set (0.00 sec) 

 mysql> \q 
 Bye 
 server:~# 
 </pre> 

 }}} 

 Si tenga presente infine che le ultime versioni del pacchetto Debian non 
 richiedono più un intervento manuale per abilitare l'ascolto su localhost in 
 quanto la riga: 

 <pre> 
 {{{ 
 bind-address              = 127.0.0.1 
 </pre> 

 <pre> 

 }}} 

 è già presente in {{{/etc/my.cnf}}}. 

 Fatto questo si potrà passare alla creazione di un proprio database con il comando: 
 <pre> 
 {{{ 
 mysqladmin -u root -p create nomedb 
 </pre> 
 }}} 
 che chiederà la precedente password, creando il database, a questo punto ci si potrà collegare al nuovo database con: 
 <pre> 
 {{{ 
 mysql -u root -p nomedb 
 </pre> 
 }}} 
 e si potrà dare l'accesso allo stesso ad uno specifico utente con i comandi: 
 <pre> 
 {{{ 
 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, DROP  
 ON nomedb.* TO 'utentedb'@'localhost' IDENTIFIED BY 'password'; 
 </pre> 
 }}} 
 e per garantirsi che questi siano immediatamente disponibili, si dovrà aggiuntere: 
 <pre> 
 {{{ 
 FLUSH PRIVILEGES; 
 </pre> 

 }}} 

 Nel caso si sia fatto un errore nell'assegnare i permessi e nel creare l'utente, lo si potrà cancellare con i comandi: 
 <pre> 
 {{{ 
 use mysql; 
 DELETE FROM user WHERE user="utentedacancellare"; 
 </pre> 
 }}}