Risposte:
Ferma il processo MySQL.
Avviare il processo MySQL con l'opzione --skip-grant-tables.
Avviare il client della console MySQL con l'opzione -u root.
Elencare tutti gli utenti;
SELECT * FROM mysql.user;
Resetta la password;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Ma NON DIMENTICARLO di
Ferma il processo MySQL
Avvia normalmente il processo MySQL (ovvero senza l'opzione --skip-grant-tables)
quando hai finito. Altrimenti, la sicurezza del database potrebbe essere compromessa.
dpkg-reconfigure mysql-server-5.5comando per ripristinare la password di MySQL root?
-uviene ignorato all'avvio del server --skip-grant-tables.
mysql.userchiamata password, usare authentication_stringinvece.
Purtroppo la tua password utente è irrecuperabile. È stato eliminato con un hash unidirezionale che se non lo sai è irreversibile. Consiglio di andare con Xenph Yan sopra e crearne uno nuovo.
Puoi anche usare la seguente procedura dal manuale per reimpostare la password per qualsiasi account root MySQL su Windows:
Menu Start -> Pannello di controllo -> Strumenti di amministrazione -> Servizi
Quindi trova il servizio MySQL nell'elenco e fermalo. Se il server non è in esecuzione come servizio, potrebbe essere necessario utilizzare Task Manager per forzare l'arresto.
Crea un file di testo e inserisci le seguenti istruzioni. Sostituisci la password con la password che desideri utilizzare.
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
Le istruzioni UPDATE e FLUSH devono essere scritte su un'unica riga. L' istruzione UPDATE reimposta la password per tutti gli account root esistenti e FLUSH istruzione indica al server di ricaricare le tabelle di concessione in memoria.
Apri una finestra della console per accedere al prompt dei comandi:
Menu Start -> Esegui -> cmd
Avviare il server MySQL con l' opzione speciale --init-file :
C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
Se hai installato MySQL in una posizione diversa da C: \ mysql , modifica il comando di conseguenza.
Il server esegue il contenuto del file denominato dal file --init dall'opzione all'avvio, modificando ogni password dell'account di root .
Puoi anche aggiungere il opzione --console al comando se si desidera che l'output del server venga visualizzato nella finestra della console anziché in un file di registro.
Se hai installato MySQL usando la procedura guidata di installazione di MySQL, potresti dover specificare un'opzione --defaults-file :
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
Il file --defaults appropriato impostazione può essere trovata usando Gestione servizi:
Menu Start -> Pannello di controllo -> Strumenti di amministrazione -> Servizi
Trova il servizio MySQL nell'elenco, fai clic con il pulsante destro del mouse su di esso e scegli l'opzione Proprietà. Il campo Percorso dell'eseguibile contiene il file --defaults impostazione .
Ora dovresti essere in grado di connetterti a MySQL come root usando la nuova password.
mysqld-ntinvece di mysqld?
Un miglioramento alla risposta più utile qui:
1] Non è necessario riavviare il server mysql
2] Problemi di sicurezza per un server MySQL collegato a una rete
Non è necessario riavviare il server MySQL.
utilizzare FLUSH PRIVILEGES;dopo l'aggiornamento dell'istruzione mysql.user per la modifica della password.
L'istruzione FLUSH indica al server di ricaricare le tabelle di concessione in memoria in modo che noti la modifica della password.
La --skip-grant-optionspermette a chiunque di connettersi senza una password e con tutti i privilegi. Perché questo è insicuro, potresti volerlo
usare --skip-grant-tables insieme a --skip-networking per impedire ai client remoti di connettersi.
da: riferimento: resetting-autorizzazioni-generico
mysql.user? Spesso, tuttavia, non è così.
Sebbene non sia possibile ripristinare direttamente una password MySQL senza il bruteforcing, potrebbe esserci un altro modo: se hai utilizzato MySQL Workbench per collegarti al database e hai salvato le credenziali nel "vault", sei d'oro.
Su Windows, le credenziali sono archiviate in % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - crittografato con CryptProtectData (senza alcuna entropia aggiuntiva). Decifrare è facile:
std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
DATA_BLOB inblob { length, input };
DATA_BLOB outblob;
if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
throw std::runtime_error("Couldn't decrypt");
}
std::vector<unsigned char> output(length);
memcpy(&output[0], outblob.pbData, outblob.cbData);
return output;
}
Oppure puoi dare un'occhiata a questo thread DonationCoder per sorgente + eseguibile di un'implementazione rapida e sporca.
Eseguire il comando seguente nel Terminale per connettersi al DBMS (è necessario l'accesso root):
sudo mysql -u root -p;
esegui la password di aggiornamento dell'utente di destinazione (per esempio il mio nome utente è mousavie la password deve essere 123456):
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';
a questo punto è necessario eseguire un flush per applicare le modifiche:
FLUSH PRIVILEGES;
Fatto! Lo hai fatto senza alcun arresto o riavvio del servizio mysql.
Se si dispone dell'accesso root al server su cui è in esecuzione mysql, è necessario arrestare il server mysql utilizzando questo comando
sudo service mysql stop
Ora avvia mysql usando questo comando
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
Ora puoi accedere a mysql usando
sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Le istruzioni complete sono disponibili qui http://www.techmatterz.com/recover-mysql-root-password/
Accedi a MySql da Windows cmd utilizzando l'utente esistente:
mysql -u username -p
Inserisci la password: ****
Quindi eseguire il comando seguente:
mysql> SELECT * FROM mysql.user;
Dopo quella copia della password md5 crittografata per l'utente corrispondente e ci sono diverse applicazioni online decifrate password disponibili nel web. Utilizzando questa password di decrittografia e utilizzarla per l'accesso la prossima volta. o aggiorna la password utente usando il comando flow:
mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Quindi accedi utilizzando la nuova password e l'utente.
Se hai ODBC impostato, puoi ottenere la password dal file di configurazione ODBC. Questo è in /etc/odbc.ini per Linux e nella cartella Software / ODBC nel registro di Windows (ce ne sono diversi - potrebbe volerci un po 'di caccia)
Salva il file. Per questo esempio, il file si chiamerà C: \ mysql-init.txt. chiedendo autorizzazioni amministrative per il salvataggio del file
Sebbene un'interpretazione rigorosa, logica e informatica della domanda dell'operazione sarebbe quella di richiedere sia "Come recuperare il mio nome utente MySQL" sia "password" - ho pensato che potesse essere utile a qualcuno rivolgersi anche all'OR all'interpretazione . In altre parole ...
1) Come posso recuperare il mio nome utente MySQL?
O
2) password
Quest'ultima condizione sembra essere già stata ampiamente risolta, quindi non mi preoccuperò. Quella che segue è una soluzione per il caso "Come posso recuperare il mio nome utente MySQL" da solo. HIH.
Per trovare il tuo nome utente mysql, esegui i seguenti comandi dalla shell mysql ...
SELEZIONA Utente DA mysql.user;
stamperà una tabella di tutti gli utenti mysql.