Domanda

Ho perso il nome utente e la password MySQL.Come posso recuperarlo?

È stato utile?

Soluzione

Arresta il processo MySQL.

Avvia il processo MySQL con l'opzione --skip-grant-tables.

Avvia il client della console MySQL con l'opzione -u root.

Elenca tutti gli utenti;

SELECT * FROM mysql.user;

Resetta la password;

UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Ma NON DIMENTICARE A

Arresta il processo MySQL

Avvia normalmente il processo MySQL (ad es.senza l'opzione --skip-grant-tables)

quando hai finito.In caso contrario, la sicurezza del tuo database potrebbe essere compromessa.

Altri suggerimenti

Purtroppo la tua password utente è irrecuperabile.È stato sottoposto a hash con un hash unidirezionale che, se non lo sai, è irreversibile.Ti consiglio di andare con Xenph Yan sopra e crearne uno nuovo.

È inoltre possibile utilizzare la seguente procedura da il manuale per reimpostare la password per qualsiasi MySQL radice account su Windows:

  1. Accedere al sistema come amministratore.
  2. Arresta il server MySQL se è in esecuzione.Per un server in esecuzione come servizio Windows, visitare il gestore dei servizi:

Menu Start -> Pannello di controllo -> Strumenti di amministrazione -> Servizi

Quindi trova il servizio MySQL nell'elenco e interrompilo.Se il tuo server non è in esecuzione come servizio, potrebbe essere necessario utilizzare il Task Manager per costringerlo a interrompere.

  1. Crea un file di testo e inserisci al suo interno le seguenti istruzioni.Sostituisci la password con la password che desideri utilizzare.

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    

    IL AGGIORNAMENTO E SCIACQUONE ciascuna dichiarazione deve essere scritta su una sola riga.IL AGGIORNAMENTO reimposta la password per tutti gli account root esistenti e il file SCIACQUONE L'istruzione dice al server di ricaricare le tabelle di concessione in memoria.

  2. Salvare il file.Per questo esempio, il file verrà denominato C:\mysql-init.txt.
  3. Apri una finestra della console per accedere al prompt dei comandi:

    Menu Start -> Esegui -> cmd

  4. Avvia il server MySQL con lo speciale --file-init opzione:

    C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
    

    Se hai installato MySQL in una posizione diversa da C:\mysql, regolare il comando di conseguenza.

    Il server esegue il contenuto del file denominato da --file-init opzione all'avvio, cambiando ciascuna radice password dell'account.

    Puoi anche aggiungere il --console opzione 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 utilizzando la procedura guidata di installazione MySQL, potrebbe essere necessario specificare a --file-default opzione:

    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
    

    L'appropriato --file-default l'impostazione può essere trovata utilizzando 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 --file-default collocamento.

  5. Dopo che il server è stato avviato correttamente, elimina C:\mysql-init.txt.
  6. Arresta il server MySQL, quindi riavvialo nuovamente in modalità normale.Se esegui il server come servizio, avvialo dalla finestra Servizi Windows.Se avvii il server manualmente, utilizza il comando che usi normalmente.

Ora dovresti essere in grado di connetterti a MySQL come root utilizzando la nuova password.

Un miglioramento della risposta più utile qui:

1] Non è necessario riavviare il server MySQL
2] Problema di sicurezza per un server MySQL connesso a una rete

Non è necessario riavviare il server MySQL.

utilizzo FLUSH PRIVILEGES; dopo l'aggiornamento della dichiarazione mysql.user per la modifica della password.

L'istruzione FLUSH dice al server di ricaricare le tabelle di concessione in memoria in modo che noti la modifica della password.

IL --skip-grant-options consente a chiunque di connettersi senza password e con tutti i privilegi.Poiché questo non è sicuro, potresti volerlo fare

utilizzo --skip-grant-tables insieme a --salta-rete per impedire ai client remoti di connettersi.

da:riferimento: ripristino-permessi-generico

Sebbene non sia possibile recuperare direttamente una password MySQL senza ricorrere alla forza bruta, potrebbe esserci un altro modo: se hai utilizzato MySQL Workbench per connetterti al database e hai salvato le credenziali nel "vault", sei a posto.

Su Windows, le credenziali vengono archiviate in %APPDATA%\MySQL\Workbench\workbench_user_data.dat - crittografato con CryptoProtectData (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 Discussione su DonationCoder per sorgente + eseguibile di un'implementazione rapida e sporca.

Se hai accesso root al server su cui è in esecuzione mysql dovresti arrestare il server mysql usando 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 utilizzando

sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

Le istruzioni complete possono essere trovate qui http://www.techmatterz.com/recover-mysql-root-password/

Fallo senza tempi morti

Esegui il seguente comando nel Terminale per connetterti al DBMS (è necessario l'accesso root):

sudo mysql -u root -p;

esegui l'aggiornamento della password dell'utente di destinazione (nel mio esempio il nome utente è mousavi e la sua password deve essere 123456):

UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';  

a questo punto è necessario fare un flush per applicare le modifiche:

FLUSH PRIVILEGES;

Fatto!Lo hai fatto senza interrompere o riavviare il servizio MySQL.

Accedi a MySql da Windows cmd utilizzando l'utente esistente:

mysql -u nomeutente -p
Inserire la password:****

Quindi esegui il seguente comando:

mysql> SELECT * FROM mysql.user;

Successivamente, copia la password MD5 crittografata per l'utente corrispondente e sul Web sono disponibili diverse applicazioni online per decrittografare la password.Usa questa password per decodificarla e usala per accedere la prossima volta.oppure aggiorna la password dell'utente utilizzando il comando fluido:

mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Quindi accedi utilizzando la nuova password e il nuovo utente.

Anche se sarebbe necessaria un'interpretazione rigorosa, logica e informatica della domanda dell'operazione Entrambi "Come posso recuperare il mio nome utente MySQL" E "password" - Ho pensato che potesse essere utile a qualcuno indirizzare anche il file O interpretazione.In altre parole ...

1) Come posso recuperare il mio nome utente MySQL?

O

2) parola d'ordine

Quest'ultima condizione sembra essere già stata ampiamente affrontata, quindi non me ne occuperò.Quella che segue è una soluzione solo per il caso "Come posso recuperare il mio nome utente MySQL".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.

SE hai configurato ODBC, puoi ottenere la password dal file di configurazione ODBC.Si trova in /etc/odbc.ini per Linux e nella cartella Software/ODBC nel registro di Windows (ce ne sono diversi, potrebbe essere necessaria un po' di ricerca)

Per l'utente Windows, puoi seguire questo guida per reimpostare la password

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top