sql >> Database teknologi >  >> RDS >> Mysql

Sådan nulstilles root-adgangskoden i MySQL 8.0

I et uheldigt tilfælde, hvor du glemmer eller mister din MySQL root-adgangskode, har du helt sikkert brug for en måde at gendanne den på. Det, vi skal vide, er, at adgangskoden er gemt i brugertabellen. Det betyder, at vi skal finde ud af en måde at omgå MySQL-godkendelsen på, så vi kan opdatere adgangskodeposten.

Heldigvis er der en nem at opnå, og denne vejledning vil guide dig gennem processen med at gendanne eller nulstille root-adgangskoden i MySQL 8.0-versionen.

I henhold til MySQL-dokumentationen er der to måder at nulstille MySQL-rodadgangskoden på. Vi vil gennemgå begge dele.

Nulstil MySQL root-adgangskode ved hjælp af –init-fil

En af måderne at nulstille root-adgangskoden på er at oprette en lokal fil og derefter starte MySQL-tjenesten ved hjælp af --init-file mulighed som vist.

# vim /home/user/init-file.txt

Det er vigtigt, at du sørger for, at filen kan læses af mysql-brugeren. Indsæt følgende i den fil:

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

I ovenstående ændres "nyt_adgangskode ” med den adgangskode, du ønsker at bruge.

Sørg nu for, at MySQL-tjenesten er stoppet. Du kan gøre følgende:

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

Kør derefter følgende:

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

Dette vil starte MySQL-tjenesten, og under processen vil den udføre init-filen, som du har oprettet, og dermed vil adgangskoden til root-brugeren blive opdateret. Sørg for at slette filen, når adgangskoden er blevet nulstillet.

Sørg for at stoppe serveren og starte den normalt derefter.

# 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

Du skulle nu være i stand til at oprette forbindelse til MySQL-serveren som root ved hjælp af den nye adgangskode.

# mysql -u root -p

Nulstil MySQL root-adgangskode ved hjælp af –skip-grant-tables

Den anden mulighed, vi har, er at starte MySQL-tjenesten med --skip-grant-tables mulighed. Dette er mindre sikkert, da mens tjenesten startes på den måde, kan alle brugere oprette forbindelse uden adgangskode.

Hvis serveren er startet --skip-grant-tables , muligheden for --skip-networking aktiveres automatisk, så fjernforbindelser vil ikke være tilgængelige.

Sørg først for, at MySQL-tjenesten er stoppet.

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

Start derefter tjenesten med følgende mulighed.

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

Derefter kan du oprette forbindelse til mysql-serveren ved blot at køre.

# mysql

Da kontoadministration er deaktiveret, når tjenesten startes med --skip-grant-tables mulighed, bliver vi nødt til at genindlæse bevillingerne. På den måde vil vi være i stand til at ændre adgangskoden senere:

# FLUSH PRIVILEGES;

Nu kan du køre følgende forespørgsel for at opdatere adgangskoden. Sørg for at ændre "new_password" med den faktiske adgangskode, du ønsker at bruge.

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

Stop nu MySQL-serveren og start den normalt.

# 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

Du burde være i stand til at oprette forbindelse med din nye adgangskode.

# mysql -u root -p

Du vil måske også gerne læse disse nyttige følgende MySQL-relaterede artikler.

  1. Sådan installeres MySQL 8 i CentOS, RHEL og Fedora
  2. 15 Nyttige MySQL-ydelsesjustering og optimeringstip
  3. 12 MySQL-sikkerhedspraksis til Linux
  4. 4 nyttige kommandolinjeværktøjer til at overvåge MySQL-ydeevne
  5. MySQL-databaseadministrationskommandoer
Konklusion

I denne artikel lærte du, hvordan du nulstiller mistet root-adgangskode til MySQL 8.0-serveren. Jeg håber, at processen var let.


  1. SqlConnection.Close() inde ved hjælp af sætning

  2. Data fra oracle i utf-8 med php

  3. Sådan fungerer age() i PostgreSQL

  4. Sådan importeres en CSV-fil til en MySQL-tabel