PDA

View Full Version : [MySql] Lost mysql root password


cocinella
29-05-2005, 05:09
Ciao a tutti,
Voglio resettare la password di root del db mysql 4.1 sotto windows, come da manuale arresto il servizio mysql, mi porto nella directoy bin e digito mysqld-nt --skip-grant-tables ma non succede nulla, il servizio rimane fermo. Infatti se provo ad inserire una nuova password con mysqladmin -u root flush-privileges password "nuovapassword" mi da il seguente errore: connect to server at 'localhost' failed....ecc

Aiutatemi perpiacere, grazie

RaouL_BennetH
29-05-2005, 12:29
Ma è normale. Non devi arrestare il servizio, altrimenti come ti colleghi al server mysql? Fai le stesse operazioni ma senza fermare il servizio.

cocinella
30-05-2005, 04:39
No! no! il servizio dev'essere stoppato cmq grazie per l'aiuto ma ho trovato la soluzione nel manuale, dovevo solamente cercare meglio e fare attenzione alla versione che ho installato, :muro: infatti dalla versione 4.1 in poi si procede in questo modo:
Fermo il servizio MySql, creo un file .txt e ci incollo il comando SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword'); gli dò un nome qualsiasi, nel mio caso mysql_start.txt e lo salvo, nel mio caso sotto C:\mysql_start.txt.
Da DOS mi porto nella \bin di mysql ed edito mysqld-nt.exe --defaults-file="C:\program files\mysql\mysql server 4.1\my.ini" --init-file=C:\mysql_start.txt in questo modo mysql è avviato in modalità speciale e la password è stata cambiata.
Posso aprire una nuova finestra dos e provare ad accedere al db con la nuova password oppure chiudere direttamente la finestra dos aprire il Task Manager fermare il processo di mysql e riavviarlo in modalità normale dal pannello dei servizi e il gioco è fatto.
Ora posso accedere al db con la nuova password :) phiko!!!

RaouL_BennetH
30-05-2005, 11:25
No! no! il servizio dev'essere stoppato ......
Fermo il servizio MySql, creo un file .txt e ci incollo il comando SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword'); gli dò un nome qualsiasi, nel mio caso mysql_start.txt e lo salvo, nel mio caso sotto C:\mysql_start.txt.
Da DOS mi porto nella \bin di mysql ed edito mysqld-nt.exe


CUT



vedi l'ultima parte da te scritta che ho messo in grassetto ?

Beh, li il servizio riparte, solo che passi delle opzioni da riga di comando, quindi...

cmq, la prossima volta, per modificare la password, basta che fai così, senza fermare il servizio e senza creare file di testo:


mysqladmin -u root password new_password

cionci
30-05-2005, 14:21
RaouL_BennetH: sei sicuro ?!?!!? Io dubito che funzioni...

RaouL_BennetH
30-05-2005, 15:58
RaouL_BennetH: sei sicuro ?!?!!? Io dubito che funzioni...

:mbe:

appena letto il tuo post, ho provato, funziona. Allora forse non ho capito la domanda. Io ho inteso semplicemente modificare la passw di root per mysql. La versione che ho è la 4.1.

Cmq, non contento, ho avviato pure linux, stessa versione. A scanso di equivoci (non vorrei confondere le idee all'autore del 3d per un mio errore) ho proceduto così:

con mysql attivo e funzionante (intendendo il servizio)

mysqladmin -u root password nuova_pass.

La verifica:

mi sono loggato con:

mysql -u root mysql -p

mi ha chiesto la password, ho messo la nuova, e sono entrato.

A questo punto ti chiedo: Forse perchè non ho nessun settaggio relativo a restrizioni o alla sicurezza mi funziona?

cionci
30-05-2005, 16:18
Ora provo sul mio e ti so dire...

Ma il tuo utente root aveva una password prima ?

RaouL_BennetH
30-05-2005, 16:22
Ora provo sul mio e ti so dire...

Ma il tuo utente root aveva una password prima ?


Si, per quanto semplice si. In questo momento sono sul sito ufficiale e sto leggendo la documentazione. In effetti, non dovrebbe funzionare come ho fatto io, ma si dovrebbe avviare il servizio senza privilegi sui database, e poi fare un update della password 'where' user = root.

Sicuramente ho io una configurazione che rasenta l'idiozia in quanto a sicurezza.

Chiedo ancora scusa a cocinella se ho insistito :)

RaouL.

cionci
30-05-2005, 16:36
;)

E:\mysql\bin>mysqladmin -u root password miapass
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Questo succede perchè haia cnora permessi di accesso validi per gli utenti %@localhost e %@%... Fai un REMOVE ALL a questi...

RaouL_BennetH
30-05-2005, 16:38
;)

E:\mysql\bin>mysqladmin -u root password miapass
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Questo succede perchè haia cnora permessi di accesso validi per gli utenti %@localhost e %@%... Fai un REMOVE ALL a questi...

Provo subito :)

RaouL_BennetH
30-05-2005, 18:01
ok, provato, avevate ragione :)

RaouL.

cionci
30-05-2005, 18:10
Avviamente volevo dire REVOKE ALL :)

RaouL_BennetH
30-05-2005, 18:16
Avviamente volevo dire REVOKE ALL :)

certo certo :D

Avevo intuito che fosse un lapsus :)

cocinella
01-06-2005, 05:05
Si, per quanto semplice si. In questo momento sono sul sito ufficiale e sto leggendo la documentazione. In effetti, non dovrebbe funzionare come ho fatto io, ma si dovrebbe avviare il servizio senza privilegi sui database, e poi fare un update della password 'where' user = root.

Sicuramente ho io una configurazione che rasenta l'idiozia in quanto a sicurezza.

Chiedo ancora scusa a cocinella se ho insistito :)

RaouL.


Io intendevo resettare la passw di root nel caso venisse dimenticata ;)
Cmq non devi scusarti, anzi grazie ancora per la disponibilità
bye

cocinella