Mysql5.1-administratörslösenordsknäcket slutar här. 1. Skicka ett kill-kommando till mysqld-servern för att stänga av mysqld-servern (inte killa -9), och filen som lagrar process-ID finns vanligtvis i katalogen där MYSQL-databasen finns. killall -TERM mysqld Du måste vara root-användare av UNIX eller motsvarande på SERVERN du kör för att göra detta. 2. Använd parametern '--skip-grant-tables' för att starta mysqld. (/usr/bin/safe_mysqld --skip-grant-tables under LINUX, c:\mysql\bin\mysqld --skip-grant-tables under Windows)
3. Logga sedan in på MySQLD Server utan lösenord, >använd MySQL >uppdatera användarinställningen lösenord=lösenord("new_pass") där användar="root"; >Flush-privilegier; 。 Du kan också göra så här: 'mysqladmin -h hostname -u användarlösenord 'nytt lösenord''.
4. Ladda behörighetstabell: 'mysqladmin -h hostname flush-privileges' eller använd SQL-kommandot 'FLUSH PRIVILEGES'. 5.killall -TERM mysqld 6. Logga in med det nya lösenordet
Rättelse: Här är vad jag faktiskt gör under Windows 1. Stäng den körande MySQL. 2. Öppna ett DOS-fönster och gå till mysql\bin-katalogen. 3. Skriv mysqld-nt --skip-grant-tables i enter. Om det inte finns något promptmeddelande, så ja. 4. Öppna ett annat DOS-fönster (eftersom DOS-fönstret just nu inte längre kan flyttas) och gå till mysql\bin-katalogen. 5. Ange MySQL enter, om lyckas visas MySQL-prompten > 6. Koppla upp dig mot behörighetsdatabasen >använd MySQL; (> är originalprompten, glöm inte sista semikolon) 6. Byt lösenord: > uppdatera användaren sätter lösenord=lösenord("123456") där användaren="root"; (Glöm inte det sista semikolon) 7. Uppdateringsbehörigheter (nödvändigt steg) >rensningsbehörigheter; 8. Utgång > \q 9. Logga ut från systemet, ange sedan MySQL, öppna MySQL och logga in 123456 med användarnamnet root och det nya lösenord du just satt.
Det sägs att du kan ändra användartabellsfilen direkt: Stäng MySQL, öppna Mysql\data\mysql på Windows, det finns tre filer: user.frm, user. MYD, användare. MYI hittar en MySQL som känner till lösenordet, ersätter motsvarande tre filer, om användartabellstrukturen inte har ändrats brukar ingen ändra den, ersätta användaren. MYD duger. Du kan också redigera användaren. MYD, hitta en hexadecimal redigerare, UltraEdit har denna funktion. Stäng MySQL och öppna användaren. MYD。 Byt de åtta tecknen efter användarnamnets rot till 565491d704013245, och det nya lösenordet är 123456. Eller ändra deras motsvarande hexadecimala tal (till vänster motsvarar ett tecken två siffror) till 00 02 02 02 02 02 02 02, vilket är ett tomt lösenord, och du kommer att se en asterisk * på höger sida av redigeraren, vilket ser ut som en decimalpunkt. Öppna MySQL igen och ange roten och ditt nya lösenord. Jag har något att göra för att ange mssql idag, eftersom det installerades för länge sedan, så jag glömde lösenordet till SA, även om man kan mata in med Windows-autentisering, men om du använder php för att ansluta till mssql fungerar det inte, så jag googlade och hittade en lösning.
Gå in med Windows-autentisering då Ange följande kommando och utför: exec sp_password null, 'newpass', 'sa'
exempel A. Byt ditt inloggningslösenord om du inte har det ursprungliga lösenordet Exemplet nedan ändrar lösenordet för att logga in i Victoria till 123 EXEC sp_password NULL, '123', 'sa'
B. Byt lösenord Följande exempel ändrar lösenordet för inloggning till Victoria från 123 till 456 EXEC sp_password '123', '456'
Ett annat problem jag hittade är att autentiseringsmekanismen för Windows och SQL Server är lite annorlunda Windows-autentisering
Serveradressinloggningsresultat 127.0.0.1 ok localhost fel . Okej
SQL Server-autentisering
Serveradressinloggningsresultat 127.0.0.1 ok localhost fel . fel
Dokumentera också hur du hämtar det bortglömda mysql-lösenordet Om MySQL körs, Döda det först: killall -TERM mysqld (om det är Windows, ring processchefen direkt och avsluta det) För att starta MySQ i felsäkert läge:
/usr/bin/safe_mysqld --skip-grant-tables & (Windows MySQL installationsdisk /mysql/bin/safe_mysqld --skip-grant-tables ) Du kan ange MySQL utan lösenord. Och sedan finns det >använd MySQL >uppdatera användarinställningen lösenord=lösenord("new_pass") där användar="root"; >Flush-privilegier; Stäng av MySQL igen och starta MySQL på vanligt sätt.
|