Mysql5.1 admin-passordknekken slutter her. 1. Send en kill-kommando til mysqld-serveren for å slå av mysqld-serveren (ikke kill -9), og filen som lagrer prosess-ID-en ligger vanligvis i mappen der MYSQL-databasen ligger. killall -TERM mysqld Du må være root-bruker av UNIX eller tilsvarende på SERVEREN du kjører for å gjøre dette. 2. Bruk parameteren '--skip-grant-tables' for å starte mysqld. (/usr/bin/safe_mysqld --skip-grant-tables under LINUX, c:\mysql\bin\mysqld --skip-grant-tables under Windows)
3. Logg deretter inn på MySQLD Server uten passord, >bruk MySQL >oppdater brukerinnstilling passord=passord("new_pass") hvor bruker="root"; >Flush-privilegier; 。 Du kan også gjøre dette: 'mysqladmin -h hostname -u brukerpassord 'nytt passord''.
4. Last inn tillatelsestabell: 'mysqladmin -h hostname flush-privileges' eller bruk SQL-kommandoen 'FLUSH PRIVILEGES'. 5.killall -TERM mysqld 6. Logg inn med det nye passordet
Korrigering: Dette er hva jeg faktisk gjør under Windows 1. Lukk den kjørende MySQL-en. 2. Åpne et DOS-vindu og gå til mysql\bin-katalogen. 3. Skriv mysqld-nt --skip-grant-tables inn i enter. Hvis det ikke kommer noen prompt-melding, så ja. 4. Åpne et annet DOS-vindu (fordi DOS-vinduet nå ikke lenger kan flyttes) og gå til mysql\bin-katalogen. 5. Skriv inn MySQL enter, hvis det lykkes, vil MySQL-prompten > vises 6. Koble til tillatelsesdatabasen >bruk MySQL; (> er den opprinnelige prompten, ikke glem siste semikolon) 6. Endre passord: > oppdater brukerinnstilling passord=passord("123456") hvor bruker="root"; (Ikke glem det siste semikolon) 7. Oppdateringstillatelser (påkrevd trinn) >flush-privilegier; 8. Utgang > \q 9. Logg ut av systemet, skriv inn, åpne MySQL, og logg inn 123456 med brukernavnets rot og det nye passordet du nettopp har satt.
Det sies at du kan endre brukertabellfilen direkte: Lukk MySQL, åpne Mysql\data\mysql på Windows, det er tre filer: user.frm, user. MYD, bruker. MYI finner en MySQL som kjenner passordet, erstatter de tilsvarende tre filene, og hvis brukertabellstrukturen ikke er endret, vil vanligvis ingen endre den, erstatte brukeren. MYD holder. Du kan også redigere brukeren. MYD, finn en heksadesimal editor, UltraEdit har denne funksjonen. Lukk MySQL og åpne bruker. MYD。 Endre de åtte tegnene etter roten til brukernavnet til 565491d704013245, og det nye passordet er 123456. Eller endre deres tilsvarende heksadesimale tall (til venstre tilsvarer ett tegn to tall) til 00 02 02 02 02 02 02 02, som er et tomt passord, og du vil se en stjerne * på høyre side av editoren, som ser ut som et desimalpunkt. Åpne MySQL på nytt og skriv inn roten og ditt nye passord. Jeg har noe å gjøre for å registrere mssql i dag, fordi det ble installert for lenge siden, så jeg glemte passordet til SA, selv om du kan logge inn med Windows-autentisering, men hvis du bruker php for å koble til mssql, fungerer det ikke, så jeg googlet det og fant en løsning.
Gå inn med Windows-autentisering, da Skriv inn følgende kommando og utfør: exec sp_password null, 'newpass', 'sa'
eksempel A. Endre innloggingspassordet ditt hvis du ikke har det opprinnelige passordet Eksempelet nedenfor endrer passordet for å logge inn i Victoria til 123 EXEC sp_password NULL,'123','sa'
B. Endre passordet ditt Følgende eksempel endrer passordet for innlogging på Victoria fra 123 til 456 EXEC sp_password '123', '456'
Et annet problem jeg fant er at autentiseringsmekanismen for Windows og SQL Server er litt annerledes Windows-autentisering
Serveradresse-innloggingsresultat 127.0.0.1 ok localhost feil . ok
SQL Server-autentisering
Serveradresse-innloggingsresultat 127.0.0.1 ok localhost feil . feil
Noter også hvordan du henter det glemte mysql-passordet Hvis MySQL kjører, Drep det først: drep all -TERM mysqld (hvis det er Windows, ring prosesslederen direkte og avslutt det) For å starte MySQ i sikkermodus:
/usr/bin/safe_mysqld --skip-grant-tables & (Windows MySQL installasjonsdisk /mysql/bin/safe_mysqld --skip-grant-tables ) Du kan skrive inn MySQL uten passord. Og så er det det >bruk MySQL >oppdater brukerinnstilling passord=passord("new_pass") hvor bruker="root"; >Flush-privilegier; Avslutt MySQL på nytt og start MySQL på vanlig måte.
|