Dimensione: 4243
Commento: inserito menu
|
Dimensione: 4437
Commento: inserito banner in revisione
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 3: | Linea 3: |
[[BR]] ||<tablestyle="font-size: 18px; text-align: center; width:100%; background:red; margin: 0 0 0 0;" style="padding:0.5em;">'''ATTENZIONE! [[BR]][[BR]] Questa pagina è in revisione! '''|| |
|
Linea 118: | Linea 120: |
CategoryNuoviDocumenti | CategoryDaRevisionare |
IndiceBR TableOfContents |
Perchè stai guardando questa pagina wiki?
Stai guardando questa pagina perchè non riesci ad accedere al tuo server Mysql installato sul tuo pc/server poichè ricevi messaggi di output come:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
or
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Per risolvere questo problema il metodo più veloce e quasi sempre funzionante è quello del "Password Resetting".
Come posso resettare la mia password?
Attenzione: Seguendo questa procedura, disabiliterai l'accesso al tuo server Mysql. Tutte le connessioni avranno un accesso con poteri di super user, è consigliato quindi disattivare il server da un'uscita verso l'esterno.
Per resettare la tua password, segui queste istruzioni:
- Ferma il server Mysql:
sudo /etc/init.d/mysql stop
- Avvia il demone mysql con la variabile --skip-grant-tables --user=root con questo comando:
/usr/bin/mysqld --skip-grant-tables --user=root
Con Ubuntu Dapper Drake, il comando /usr/bin/mysgld non ha avuto successo. Eseguendo invece il comando mysqld --skip-grant-tables si potrà risolvere questo piccola problema.
- avvia il client mysql con questo comando:
mysql -u root
- dal terminale del client mysql segui questi comandi per resettare/aggiornare la tua password:
SET PASSWORD FOR root@'localhost' = PASSWORD('password')
- Se disponete di un account mysql con accesso da super user che accetta connessione da ovunque, digitate:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
- Altro metodo:
USE mysql UPDATE user SET Password = PASSWORD('newpwd') WHERE Host = 'localhost' AND User = 'root';
- E se avete un account da root con accesso esterno:
USE mysql UPDATE user SET Password = PASSWORD('newpwd') WHERE Host = '%' AND User = 'root';
Dopo aver eseguito questi comandi, è consigliato l'uso del comando "flush privileges" per ricaricare tutti le tabelle modificate durante il processo:
FLUSH PRIVILEGES;
Dopo di che ferma il processo mysqld e fallo ripartire di nuovo nella modalità classica:
sudo /etc/init.d/mysql start
Dopo aver completato tutti questi passi, potrete accedere al vostro server mysql con la password impostata nei passaggi soprastanti. Un metodo molto più semplice pe avere un controllo completo del proprio server è lo strumento amministrativo phpmyadmin (www.phpmyadmin.net), software creato con l'uso del php che mette a disposizione una interfaccia web che renderà la vita facile a chi non ha molta confidenza con la linea di comando. I requisiti per installare questo applicativo sono:
- web server apache
- php
- mysql server/mysql client installati
- php_mysql support per apache
Tutti i pacchetti possono essere trovati su Synaptic.
Un altro metodo: purge
Se il metodo descritto in precedenza non dovesse risolvere il vostro problema, non preoccupatevi, poichè potrete ricorrere al metodo denominato "PURGE". Questo rimuoverà tutti i file relativi al vostro server mysql.
Attenzione: USARE QUESTO METODO COME ULTIMA POSSIBILITÀ, RICORDO CHE PERDERETE TUTTI I DATI DEL VOSTRO SERVER
Seguite questi comandi:
sudo apt-get --purge remove mysql-server mysql-common mysql-client
sudo apt-get install mysql-server mysql-common mysql-client
Nel prossimo passo, ricordatevi di cambiare la vostra password, che nel nostro caso è indicata con le parole "tua-nuova.password"
mysqladmin -u root password tua-nuova-password sudo /etc/init.d/mysql restart
mysql -u root -p
Dovresti ora trovarti all'interno del tuo server mysql con permessi da root.
Rifacimento del documento presente sul wiki di Ubuntu, che creai in lingua inglese.