Mysql5.1 admin-adgangskodebruddet slutter her. 1. Send en kill-kommando til mysqld-serveren for at slå mysqld-serveren fra (ikke kill -9), og filen, der gemmer proces-ID'et, ligger normalt i den mappe, hvor MYSQL-databasen er placeret. killall -TERM mysqld Du skal være root-bruger af UNIX eller tilsvarende på den SERVER, du kører, for at gøre dette. 2. Brug parameteren '--skip-grant-tables' til at starte mysqld. (/usr/bin/safe_mysqld --skip-grant-tables under LINUX, c:\mysql\bin\mysqld --skip-grant-tables under windows)
3. Log derefter ind på MySQLD Server uden adgangskode, >brug MySQL >opdater brugersæt password=password("new_pass") hvor user="root"; >Flush-privilegier; 。 Du kan også gøre dette: 'mysqladmin -h hostname -u brugeradgangskode 'new password''.
4. Indlæs tilladelsestabel: 'mysqladmin -h hostname flush-privileges' eller brug SQL-kommandoen 'FLUSH PRIVILEGES'. 5.killall -TERM mysqld 6. Log ind med den nye adgangskode
Rettelse: Her er, hvad jeg faktisk gør under Windows 1. Luk den kørende MySQL. 2. Åbn et DOS-vindue og gå til mysql\bin-mappen. 3. Skriv mysqld-nt --skip-grant-tables i enter. Hvis der ikke er nogen promptbesked, så ja. 4. Åbn et andet DOS-vindue (fordi DOS-vinduet lige nu ikke længere kan flyttes) og gå til mysql\bin-mappen. 5. Indtast MySQL enter, hvis det lykkes, vil MySQL-prompten > vises 6. Forbind til tilladelsesdatabasen >brug MySQL; (> er den oprindelige prompt, glem ikke det sidste semikolon) 6. Skift adgangskode: > opdatere brugerindstilling adgangskode=adgangskode("123456") hvor bruger="rod"; (Glem ikke det sidste semikolon) 7. Opfriskningstilladelser (påkrævet trin) >flush-rettigheder; 8. Udgang > \q 9. Log ud af systemet, indtast så MySQL, åbn MySQL og log ind 123456 med brugernavnet root og den nye adgangskode, du lige har sat ind.
Det siges, at man direkte kan ændre brugertabelfilen: Luk MySQL, åbn Mysql\data\mysql på Windows, der er tre filer: user.frm, user. MYD, bruger. MYI finder en MySQL, der kender adgangskoden, erstatter de tilsvarende tre filer, og hvis brugertabelstrukturen ikke er ændret, vil som regel ingen ændre den, erstatte brugeren. MYD er nok. Du kan også redigere brugeren. MYD, find en hexadecimal editor, UltraEdit har denne funktion. Luk MySQL og åbn brugeren. MYD。 Skift de otte tegn efter roden af brugernavnet til 565491d704013245, og den nye adgangskode er 123456. Eller ændre deres tilsvarende hexadecimale tal (til venstre svarer et tegn til to tal) til 00 02 02 02 02 02 02 02 02, hvilket er en tom adgangskode, og du vil se en stjerne * på højre side af editoren, som ligner et decimalpunkt. Genåbn MySQL og indtast root-koden og din nye adgangskode. Jeg skal gøre noget for at indtaste mssql i dag, fordi det blev installeret for længe siden, så jeg glemte adgangskoden til SA, selvom man kan indtaste med Windows-autentificering, men hvis man bruger php til at forbinde til mssql, virker det ikke, så jeg googlede det og fandt en løsning.
Gå ind med Windows-godkendelse, så Indtast følgende kommando og udfør: exec sp_password null, 'newpass', 'sa'
eksempel A. Ændr din loginadgangskode, hvis du ikke har den oprindelige adgangskode Eksemplet nedenfor ændrer adgangskoden til at logge ind på Victoria til 123 EXEC sp_password NULL,'123','sa'
B. Skift din adgangskode Følgende eksempel ændrer adgangskoden til login til Victoria fra 123 til 456 EXEC sp_password '123', '456'
Et andet problem, jeg har fundet, er, at autentificeringsmekanismen for Windows og SQL Server er lidt forskellig Windows-autentificering
Resultat for indlogning af serveradresse 127.0.0.1 ok localhost forkert . Ok
SQL Server-autentificering
Resultat for indlogning af serveradresse 127.0.0.1 ok localhost forkert . forkert
Skriv også ned, hvordan du henter den glemte MySQL-adgangskode Hvis MySQL kører, Dræb det først: killall -TERM mysqld (hvis det er Windows, så ring direkte til procesmanageren og afslut det) For at starte MySQ i fejlsikret tilstand:
/usr/bin/safe_mysqld --skip-grant-tables & (Windows MySQL installationsdisk /mysql/bin/safe_mysqld --skip-grant-tables ) Du kan indtaste MySQL uden adgangskode. Og så er der >brug MySQL >opdater brugersæt password=password("new_pass") hvor user="root"; >Flush-privilegier; Sluk MySQL igen og start MySQL på den normale måde.
|