MySQLInitConf » Cronologia » Versione 10
Versione 9 (Amministratore Truelite, 13-11-2007 15:33) → Versione 10/25 (Amministratore Truelite, 13-11-2007 15:41)
[[TracNav(TOC)]] = Configurazione di base per MySQL = La configurazione di base di MySQL eseguita da Debian subito dopo l'installazione del pacchetto consente l'accesso database con l'utente di amministrazione ''root'' senza password. Per questo motivo il primo passo da fare, immediatamente dopo l'installazione, è impostare una password per ''root''; questo si fa con il comando: {{{ /usr/bin/mysqladmin -u root password NuovaPassword }}} Se invece si è persa la password di ''root'' del database il precedente comando non funziona in quanto una volta impostata la password questa diventa necessaria per poterlo utilizzare, per questo per poterla recuperare occorre seguire la seguente procedura: il primo passo è fermare il database e farlo ripartire senza meccanismi di controllo di autenticazione con i comandi: {{{ /etc/init.d/mysql stop /usr/bin/mysqld_safe --skip-grant-tables --skip-networking & }}} a questo punto ci si potrà collegare al database direttamente con: {{{ mysql -u root }}} ottenendo una shell SQL con privilegi di amministrazione; qui si dovranno dare seguenti comandi: {{{ use mysql; UPDATE user SET Password=PASSWORD("NuovaPassword") WHERE User="root"; exit }}} fatto questo la passord di ''root'' è stata modificata e si potrà fermare il # kill all the mysql processes database e riavviarlo con: {{{ /etc/init.d/mysql stop # Start MySQL again /etc/init.d/mysql start }}} Dopo di che si potrà verificare che l'accesso è possibile con la nuova password con: {{{ server:~# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your 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:~# }}} 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: {{{ bind-address = 127.0.0.1 }}} è già presente in {{{/etc/my.cnf}}}. Fatto questo si potrà passare alla creazione di un proprio database con il comando: {{{ mysqladmin -u root -p create nomedb }}} che chiederà la precedente password, creando il database, a questo punto ci si potrà collegare al nuovo database con: {{{ mysql -u root -p nomedb }}} e si potrà dare l'accesso allo stesso ad uno specifico utente con i comandi: {{{ GRANT SELECT, INSERT, UPDATE, DELETE ON nomedb.* TO utentedb@localhost IDENTIFIED BY 'password'; }}} e per garantirsi che questi siano immediatamente disponibili, si dovrà aggiuntere: {{{ FLUSH PRIVILEGES; }}} Nel caso si sia fatto un errore nell'assegnare i permessi e nel creare l'utente, lo si potrà cancellare con i comandi: {{{ use mysql; DELETE FROM user WHERE user="utentedacancellare"; }}}