När vi installerar MySQL på Windows anger vi vanligtvis lösenordet för rootanvändaren. Detta hjälper till att hålla MySQL-servern säker. Anta att du gick med i en ny organisation och ledningen för den organisationen planerar att migrera några MySQL-databaser till SQL Server. För att utföra detta behöver du rotanvändarens autentiseringsuppgifter, men organisationen höll inte reda på lösenordet. I det här scenariot måste vi återställa lösenordet för rootanvändaren.
I den här artikeln ska vi lära oss hur vi kan återställa root-lösenordet i MySQL Server på Windows 10. Jag har förberett en demomiljö på min arbetsstation för demonstration, och detaljerna förklaras i nästa avsnitt.
S etup Windows-miljö
Vi kommer att lära oss metoderna för att återställa root-lösenord i en Windows-miljö. För demonstrationen skapade jag en virtuell maskin och installerade Windows 10 och MySQL Server på den. Installationen av MySQL-servern utfördes med hjälp av MySQL-installationsguiden. Konfigurationen av MySQL är som följer:
- MySQL-version: 8.0.23 (MySQL Community Server)
- MySQL-hemkatalog: C:\MySQL_Home\
- Plats för datakatalog: C:\MySQL_Data_Directory\
- Plats för initialiseringsfil: C:\MySQL_Home\my.ini
Du kan se ovanstående detaljer från MySQL arbetsbänk. Öppna MySQL Workbench och anslut till MySQL Server? Klicka på Serverstatus från navigatorfönstret. Se följande bild:

Du kan också använda mysqladmin kommandot för att se detaljerna om MySQL-servern. mysqladmin kommandot används för att utföra olika administrativa aktiviteter, som att skapa och ta bort databasen, visa serverstatus, konfigurationsdetaljer och mer. Du kan läsa 4.5.2 mysqladmin — A MySQL Server Administration Program för att lära dig mer om mysqladmin kommando.
Kör följande fråga för att fylla i statusen för MySQL-servern.
C:\MySQL_Home\bin>mysqladmin -u root -p version
Enter password: **************

Steg för att återställa lösenordet för rootanvändaren:
- Skapa en initieringsfil som har kommandot ALTER USER.
- Stoppa MySQL-tjänsterna.
- Starta tjänsterna med mysqld och ange filen som har kommandot ALTER USER.
- Anslut till MySQL-arbetsbänken och återställ root-lösenordet.
- Starta om tjänsten.
Låt oss nu se hur vi kan återställa root-lösenordet.
Steg 1:Skapa en MySQL-initieringsfil.
Låt oss först skapa en textfil med en fråga som används för att ändra lösenordet. För att ändra lösenordet använder vi följande ALTER USER-kommando.
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567';
Spara filen på lämplig plats.
Steg 2:Stoppa MySQL-tjänsterna.
För att ändra lösenordet måste vi stoppa MySQL-tjänsterna. För att stoppa MySQL-tjänsterna, öppna Kontrollpanelen ? Öppna Administrativa verktyg ? Öppna Tjänster ? Leta upp MySQL Service från listan? Högerklicka på MySQL och välj Stopp .

Alternativt kan du köra följande PowerShell-kommando för att stoppa MySQL tjänst.
PS C:\> net stop MySQL;

Steg 3:Starta tjänsterna med hjälp av initieringsfilen.
Vi använder mysqld kommandot för att starta MySQL-tjänsten. mysqld är ett entrådigt program. Den har olika konfigurationsalternativ som kan specificeras vid start av MySQL-servern. Du kan se listan över alternativen genom att köra följande kommando.
C:\>C:\MySQL_Home\bin\mysqld --verbose --help

Vi kommer att använda – -init-filen alternativet i mysqld kommando. – -init-filen option läser kommandot från filen som anges i alternativet. Om du har installerat MySQL-servern med MySQL-installationsguiden, som jag har, måste du ange – -defaults-files . I – – defaults-filen alternativet och platsen för my.ini-konfigurationsfilen. Jag har skapat en fil som heter ResetRootPassword.txt i D:\PasswordFile katalog. mysqld kommandot med ett alternativ är som följer:
C:\>C:\MySQL_Home\bin\mysqld --defaults-file = "C:\MySQL_Home\my.ini"
--init-file="D:\PasswordFile\ResetRootPassword.txt"

Steg 4:Anslut till MySQL och återställ lösenordet.
Låt oss nu ansluta till MySQL med MySQL arbetsbänk. Öppna MySQL-arbetsbänken? Anslut med root-användare.

Ange det nya lösenordet och anslut till MySQL.

När du är ansluten kör du följande kommando för att återställa lösenordet.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123';

När lösenordet har återställts stänger du MySQL-arbetsbänken, avslutar mysqld-tjänsten genom att klicka på Ctrl+C kommando.

När tjänsterna har stoppats tar du bort ResetRootPassword.txt fil.
Steg 5:Starta om MySQL-tjänsten.
Starta nu om MySQL-tjänsten från services.msc. Öppna kontrollpanelen? Öppna Administrativa verktyg ? Öppna Tjänster ? Leta upp MySQL service? Högerklicka på MySQL-tjänsten och välj Start .

Anslut nu till MySQL-servern med hjälp av root-användaren som förklarats i föregående avsnitt.

Som du kan se i följande skärmdump är vi anslutna till MySQL-servern.

Sammanfattning
Som databasadministratörer är det vårt ansvar att hålla reda på viktiga lösenord, särskilt superanvändarlösenord. Om lösenordet går förlorat och inte går att återställa kan det vara mycket påfrestande. I den här artikeln täckte jag steg-för-steg-processen för att återställa lösenordet för root-användaren. Den här artikeln kan vara till hjälp för att återställa root-lösenordet för MySQL på Windows.