Cum recuperez numele de utilizator MySQL și parola?

Mi-am pierdut numele de utilizator MySQL și parola. Cum îl recuperez?

0
fr hi bn

9 răspunsuri

Opriți procesul MySQL.

     

Porniți procesul MySQL cu opțiunea -skip-grant-tables.

     

Porniți clientul consolei MySQL cu opțiunea root root-u.

Afișați toți utilizatorii;

SELECT * FROM mysql.user;

Reseteaza parola;

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

Dar NU VĂ RUGĂM la

Opriți procesul MySQL

     

Porniți în mod normal Procesul MySQL (adică fără opțiunea -skip-grant-tables)

când ați terminat. În caz contrar, securitatea bazei dvs. de date ar putea fi compromisă.

0
adăugat
@Xenph, de ce spui " Pornește clientul consolei MySQL cu opțiunea root -u "? Nu are sens să faci asta deloc, deoarece -u este ignorată când serverul este inițiat cu - skip-grant-tables-uri .
adăugat autor Pacerier, sursa
În MySQL 5.7. *, Nu există nici o coloană în mysql.user numită password , în schimb folosiți authentication_string .
adăugat autor whiteletters in blankpapers, sursa
Care este semnificația folosirii comenzii dpkg-reconfigura mysql-server-5.5 pentru a reseta parola MySQL rădăcină?
adăugat autor phillipsK, sursa
sql meu 5.5. comanda selectare afișează o parolă criptată. Cum pot vedea parola reală?
adăugat autor testerjoe2, sursa
Gândiți-vă că nu este nevoie să reporniți daemonul pentru resetarea utilizatorilor normali. doar "PRIVILEGI FLUX"; după actualizarea parolei de utilizator. - tabele de grant-granturi necesare doar pentru resetarea parolei de utilizator root! În general, acest lucru nu este recomandat pentru resetarea standard a utilizatorului.
adăugat autor Amos Folarin, sursa
Am găsit acest + stackoverflow.com/a/35277160/1604601 foarte util
adăugat autor Alien Life Form, sursa

An improvement to the most useful answer here:

1] No need to restart the MySQL server
2] Security concern for a MySQL server connected to a network

Nu este nevoie să reporniți serverul MySQL.

utilizați PRIVILEGES FLUSH; după actualizarea instrucțiunii mysql.user pentru schimbarea parolei.

Instrucțiunea FLUSH indică serverului să reîncarce tabelele de granturi în memorie, astfel încât să sesizeze modificarea parolei.

Opțiunea - skip-grant-options permite oricui să se conecteze fără o parolă și cu toate privilegiile. Deoarece acest lucru este nesigur, s-ar putea să doriți

utilizați - tabelele de transferuri în combinație cu - săriți-rețea pentru a împiedica conectarea clienților la distanță.

from: reference: resetting-permissions-generic

0
adăugat
Îmbunătățire mare.
adăugat autor trusktr, sursa
@ThinkingMonkey, Nu presupune că utilizatorul curent înregistrat are privilegii de modificare a mysql.user ? Adesea, nu este cazul.
adăugat autor Pacerier, sursa

În timp ce nu puteți recupera direct o parolă MySQL fără bruteforcing, este posibil să existe o altă modalitate - dacă ați folosit MySQL Workbench pentru a vă conecta la baza de date și ați salvat acreditările în "vault", sunteți aur.

Pe Windows, acreditările sunt stocate în % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - criptate cu (fără nicio entropie suplimentară). Decriptarea este ușor de peas:

std::vector 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 output(length);
    memcpy(&output[0], outblob.pbData, outblob.cbData);

    return output;
}

Sau puteți verifica acest thread DonationCoder pentru sursa + executabilul unei implementări rapide și murdare.

0
adăugat
Dar relativ vorbind, foarte puțini oameni folosesc Workbench.
adăugat autor Pacerier, sursa
Iată o altă implementare care poate fi rulată după construirea cu Visual Studio pentru a recupera informațiile de utilizator și parola stocate de Workbench: github.com/ wclear / MySQLWorkbenchPasswordViewer
adăugat autor wclear, sursa
A fost perfect. Există un exe cu cod sursă pe snemarchul de fir menționat pentru a prelua parola contului meu de utilizator stocată în MySQL Workbench vault. Deși aceste alte metode ar funcționa probabil și dacă aveam drepturi de a citi sau de a actualiza tabelul de utilizatori.
adăugat autor RobbZ, sursa

Din păcate, parola de utilizator este irepetabilă. Acesta a fost spulberat cu un hash cu o singură cale care, dacă nu știi, este ireversibil. Vă recomandăm să mergeți cu Xenph Yan de mai sus și să creați unul nou.

De asemenea, puteți utiliza următoarea procedură de la manualul pentru resetarea parolei pentru orice conturi MySQL root în Windows:

  1. Conectați-vă la sistem ca Administrator.
  2. Opriți serverul MySQL dacă rulează. Pentru un server care rulează ca serviciu Windows, mergeți la Managerul de servicii:

Start Menu -> Control Panel -> Administrative Tools -> Services

Apoi găsiți serviciul MySQL în listă și opriți-l. Dacă serverul dvs. este care nu rulează ca serviciu, este posibil să fie necesar să utilizați Managerul de activități pentru al forța să se oprească.

  1. Create a text file and place the following statements in it. Replace the password with the password that you want to use.

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

    The UPDATE and FLUSH statements each must be written on a single line. The UPDATE statement resets the password for all existing root accounts, and the FLUSH statement tells the server to reload the grant tables into memory.

  2. Save the file. For this example, the file will be named C:\mysql-init.txt.
  3. Open a console window to get to the command prompt:

    Start Menu -> Run -> cmd

  4. Start the MySQL server with the special --init-file option:

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

    If you installed MySQL to a location other than C:\mysql, adjust the command accordingly.

    The server executes the contents of the file named by the --init-file option at startup, changing each root account password.

    You can also add the --console option to the command if you want server output to appear in the console window rather than in a log file.

    If you installed MySQL using the MySQL Installation Wizard, you may need to specify a --defaults-file option:

    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
    

    The appropriate --defaults-file setting can be found using the Services Manager:

    Start Menu -> Control Panel -> Administrative Tools -> Services

    Find the MySQL service in the list, right-click on it, and choose the Properties option. The Path to executable field contains the --defaults-file setting.

  5. After the server has started successfully, delete C:\mysql-init.txt.
  6. Stop the MySQL server, then restart it in normal mode again. If you run the server as a service, start it from the Windows Services window. If you start the server manually, use whatever command you normally use.

Acum ar trebui să vă puteți conecta la MySQL ca root folosind noua parolă.

0
adăugat
@Jake - mulțumesc pentru răspuns. Am vrut să-i dau un deget de sus, dar din anumite motive stackoverflow obiceiul permite-mi să fac acest lucru din cauza puncte de reputație. explicația dvs. "din păcate, parola dvs. de utilizator este iremediabilă.a fost hashes cu un hash un fel care, dacă nu știți, este ireversibil" a fost cheia înțelegerii mele de ce tot ce am citit pe Google NUMAI mi-a dat instrucțiuni pentru schimbați parola. explicațiile bune sunt mai inspirate decât instrucțiunile.
adăugat autor dsdsdsdsd, sursa
De ce este mysqld-nt în loc de mysqld ?
adăugat autor Pacerier, sursa
Btw, există o opțiune non-file de - init-file ? (Ceva similar cu comanda - executa a mysql.exe.)
adăugat autor Pacerier, sursa
+1 pentru a răspunde la întrebarea .
adăugat autor davmac, sursa

Conectați MySql din Windows cmd folosind utilizatorul existent:

    

MySQL -u username -p
            Introduceți parola: ****

  

Apoi rulați următoarea comandă:

mysql> SELECT * FROM mysql.user;

După această copie, s-a criptat parola md5 pentru utilizatorul respectiv și există mai multe aplicații decriptate online cu parolă disponibile pe web. Folosind această parolă de decriptare și folosiți aceasta pentru autentificare în data viitoare. sau să actualizați parola de utilizator utilizând comanda care rulează:

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

Apoi conectați-vă folosind noua parolă și utilizatorul.

0
adăugat

Deși o interpretare strictă, logică, a științei computerizate a întrebării op ar fi să necesite ambele "Cum îmi recuperez numele de utilizator MySQL" parolă și - m-am gândit Ar putea fi util ca cineva să se adreseze și interpretării SAU . Cu alte cuvinte ...

1) Cum recuperez numele meu de utilizator MySQL?

OR

2) parola

Această ultimă condiție pare să fi fost deja rezolvată amplu, așa că nu mă deranjez cu ea. Următoarea este o soluție pentru cazul "Cum îmi rețin numele de utilizator MySQL" singur. HIH.

Pentru a găsi numele de utilizator MySQL rulați următoarele comenzi din shell shell-ul MySQL ...

SELECTAREA utilizatorului FROM mysql.user;

va imprima o tabelă a tuturor utilizatorilor mysql.

0
adăugat
Acesta este un răspuns tardiv și ar trebui să le postați numai dacă soluția dvs. este în mod clar diferită de cea deja înregistrată sau acceptată. Nu este cazul în acest caz, mai ales că răspunsul dvs. repetă una acceptată.
adăugat autor m.cekiera, sursa

Dacă aveți acces rădăcină la serverul în care rulează mysql, ar trebui să opriți serverul MySQL utilizând această comandă

sudo service MySQL stop

Acum porniți MySQL folosind această comandă

sudo /usr/sbin/mysqld --skip-grant-tables  --skip-networking &

Acum vă puteți conecta la MySQL folosind

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

Full instructions can be found here http://www.techmatterz.com/recover-mysql-root-password/

0
adăugat

Dacă ați instalat ODBC, puteți obține parola din fișierul de configurare ODBC. Acesta este în /etc/odbc.ini pentru Linux și în folderul Software / ODBC în registry în Windows (există mai multe - poate fi nevoie de vânătoare)

0
adăugat

Fă-o fără timp

Rulați următoarea comandă în Terminal pentru a vă conecta la DBMS (aveți nevoie de acces root):

sudo MySQL -u root -p;

(pentru numele exemplu, numele meu este mousavi și parola lui trebuie să fie 123456 ):

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

în acest moment trebuie să faci o culoare pentru a aplica modificări:

FLUSH PRIVILEGES;

Terminat! Ați făcut-o fără nici o oprire sau reporniți serviciul mysql.

0
adăugat
MySQL - comunitatea Română
MySQL - comunitatea Română
19 participanți

Comunitatea română a programatorilor MySQL.