sql >> Databasteknik >  >> RDS >> Mysql

Återställ rotlösenordet för MySQL på Windows

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:

  1. MySQL-version: 8.0.23 (MySQL Community Server)
  2. MySQL-hemkatalog: C:\MySQL_Home\
  3. Plats för datakatalog: C:\MySQL_Data_Directory\
  4. 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:

  1. Skapa en initieringsfil som har kommandot ALTER USER.
  2. Stoppa MySQL-tjänsterna.
  3. Starta tjänsterna med mysqld och ange filen som har kommandot ALTER USER.
  4. Anslut till MySQL-arbetsbänken och återställ root-lösenordet.
  5. 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.


  1. Hur AUTOINCREMENT fungerar i SQLite

  2. Använda index i SQL Server-minnesoptimerade tabeller

  3. Streama stora resultatuppsättningar med MySQL

  4. Hur extraherar man två på varandra följande siffror från ett textfält i MySQL?