Zoeken op website

Hoe u het root-wachtwoord kunt resetten in MySQL 8.0


In het ongelukkige geval dat u uw MySQL-rootwachtwoord vergeet of kwijtraakt, heeft u zeker een manier nodig om het op de een of andere manier te herstellen. Wat we moeten weten is dat het wachtwoord is opgeslagen in de gebruikerstabel. Dit betekent dat we een manier moeten bedenken om de MySQL-authenticatie te omzeilen, zodat we het wachtwoordrecord kunnen bijwerken.

Gelukkig is dit eenvoudig te bereiken en deze tutorial zal je door het proces leiden van het herstellen of opnieuw instellen van het root-wachtwoord in de MySQL 8.0-versie.

Volgens de MySQL-documentatie zijn er twee manieren om het root-MySQL-wachtwoord opnieuw in te stellen. We zullen beide beoordelen.

Reset het MySQL-rootwachtwoord met behulp van –init-file

Een van de manieren om het root-wachtwoord opnieuw in te stellen is door een lokaal bestand te maken en vervolgens de MySQL-service te starten met de optie --init-file, zoals weergegeven.

vim /home/user/init-file.txt

Het is belangrijk dat u ervoor zorgt dat het bestand leesbaar is voor de mysql-gebruiker. Plak in dat bestand het volgende:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Wijzig hierboven “nieuw_wachtwoord” met het wachtwoord dat u wilt gebruiken.

Zorg er nu voor dat de MySQL-service is gestopt. U kunt het volgende doen:

systemctl stop mysqld.service     # for distros using systemd 
/etc/init.d/mysqld stop           # for distros using init

Voer vervolgens het volgende uit:

mysqld --user=mysql --init-file=/home/user/init-file.txt --console

Hierdoor wordt de MySQL-service gestart en tijdens het proces wordt het init-bestand uitgevoerd dat u hebt gemaakt, waardoor het wachtwoord voor de rootgebruiker wordt bijgewerkt. Zorg ervoor dat u het bestand verwijdert zodra het wachtwoord opnieuw is ingesteld.

Zorg ervoor dat u de server stopt en daarna normaal start.

systemctl stop mysqld.service        # for distros using systemd 
systemctl restart mysqld.service     # for distros using systemd 

/etc/init.d/mysqld stop              # for distros using init
/etc/init.d/mysqld restart           # for distros using init

U zou nu als root verbinding moeten kunnen maken met de MySQL-server met behulp van het nieuwe wachtwoord.

mysql -u root -p

Reset het MySQL-rootwachtwoord met behulp van –skip-grant-tables

De tweede optie die we hebben is om de MySQL-service te starten met de optie --skip-grant-tables. Dit is minder veilig, omdat terwijl de service op die manier wordt gestart, alle gebruikers zonder wachtwoord verbinding kunnen maken.

Als de server --skip-grant-tables wordt gestart, wordt de optie voor --skip-networking automatisch geactiveerd, zodat externe verbindingen niet beschikbaar zijn.

Zorg er eerst voor dat de MySQL-service is gestopt.

systemctl stop mysqld.service     # for distros using systemd 
/etc/init.d/mysqld stop           # for distros using init

Start vervolgens de service met de volgende optie.

mysqld --skip-grant-tables --user=mysql &

Vervolgens kunt u verbinding maken met de MySQL-server door simpelweg te starten.

mysql

Omdat accountbeheer is uitgeschakeld wanneer de service wordt gestart met de optie --skip-grant-tables, zullen we de subsidies opnieuw moeten laden. Op die manier kunnen we het wachtwoord later wijzigen:

FLUSH PRIVILEGES;

Nu kunt u de volgende query uitvoeren om het wachtwoord bij te werken. Zorg ervoor dat u “new_password” wijzigt met het daadwerkelijke wachtwoord dat u wilt gebruiken.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

Stop nu de MySQL-server en start deze normaal.

systemctl stop mysqld.service        # for distros using systemd 
systemctl restart mysqld.service     # for distros using systemd 

/etc/init.d/mysqld stop              # for distros using init
/etc/init.d/mysqld restart           # for distros using init

U zou verbinding moeten kunnen maken met uw nieuwe wachtwoord.

mysql -u root -p

Misschien wilt u ook deze nuttige volgende MySQL-gerelateerde artikelen lezen.

  1. Hoe MySQL 8 te installeren in CentOS, RHEL en Fedora
  2. 15 Handige MySQL-prestatieafstemming en optimalisatietips
  3. 12 MySQL-beveiligingspraktijken voor Linux
  4. 4 Handige opdrachtregelhulpmiddelen om MySQL-prestaties te controleren
  5. MySQL-databasebeheeropdrachten
Conclusie

In dit artikel heb je geleerd hoe je het verloren root-wachtwoord voor de MySQL 8.0-server opnieuw kunt instellen. Ik hoop dat het proces eenvoudig was.