Kako ponastaviti korensko geslo v MySQL 8.0


V nesrečnem primeru, ko pozabite ali izgubite korensko geslo MySQL, boste zagotovo potrebovali način, da ga nekako obnovite. Vedeti moramo, da je geslo shranjeno v tabeli uporabnikov. To pomeni, da moramo ugotoviti način, kako zaobiti preverjanje pristnosti MySQL, da lahko posodobimo zapis gesla.

Na srečo je to enostavno doseči in ta vadnica vas bo vodila skozi postopek obnovitve ali ponastavitve korenskega gesla v različici MySQL 8.0.

V skladu z dokumentacijo MySQL obstajata dva načina za ponastavitev korenskega gesla MySQL. Oboje bomo pregledali.

Ponastavi korensko geslo MySQL z uporabo datoteke -init

Eden od načinov za ponastavitev korenskega gesla je ustvariti lokalno datoteko in nato zagnati storitev MySQL z možnostjo --init-file , kot je prikazano.

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

Pomembno je, da poskrbite, da bo uporabnik mysql bral datoteko. V to datoteko prilepite naslednje:

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

V zgornjem besedilu spremenite »new_password« z geslom, ki ga želite uporabiti.

Zdaj se prepričajte, da je storitev MySQL ustavljena. Naredite lahko naslednje:

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

Nato zaženite naslednje:

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

S tem se bo zagnala storitev MySQL in med postopkom bo izvedla datoteko init, ki ste jo ustvarili, in tako bo geslo za korenskega uporabnika posodobljeno. Po ponastavitvi gesla ne pozabite izbrisati datoteke.

Ne pozabite ustaviti strežnika in ga po tem normalno zagnati.

# 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

Zdaj bi se morali z novim geslom povezati s strežnikom MySQL kot root.

# mysql -u root -p

Ponastavite korensko geslo MySQL z uporabo –skip-grant-tabel

Druga možnost, ki jo imamo, je, da storitev MySQL zaženemo z možnostjo --skip-grant-tables . To je manj varno, saj se lahko ob zagonu storitve vsi uporabniki povežejo brez gesla.

Če se strežnik zažene --skip-grant-tables , se samodejno aktivira možnost za --skip-networking , zato oddaljene povezave ne bodo na voljo.

Najprej se prepričajte, da je storitev MySQL ustavljena.

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

Nato zaženite storitev z naslednjo možnostjo.

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

Nato se lahko preprosto povežete s strežnikom mysql.

# mysql

Ker je upravljanje računa onemogočeno, ko se storitev zažene z možnostjo --skip-grant-tables , bomo morali donacije znova naložiti. Tako bomo geslo lahko pozneje spremenili:

# FLUSH PRIVILEGES;

Zdaj lahko za posodobitev gesla izvedete naslednjo poizvedbo. Ne pozabite spremeniti »new_password« z dejanskim geslom, ki ga želite uporabiti.

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

Zdaj ustavite strežnik MySQL in ga zaženite normalno.

# 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

Morali bi se povezati z novim geslom.

# mysql -u root -p

Morda bi radi prebrali tudi te koristne članke, povezane s MySQL.

  1. Kako namestiti MySQL 8 v CentOS, RHEL in Fedora
  2. 15 koristnih nasvetov za prilagajanje in optimizacijo zmogljivosti MySQL
  3. 12 varnostnih praks MySQL za Linux
  4. 4 uporabna orodja ukazne vrstice za spremljanje uspešnosti MySQL
  5. Ukazi za upravljanje baz podatkov MySQL

V tem članku ste izvedeli, kako ponastaviti izgubljeno korensko geslo za strežnik MySQL 8.0. Upam, da je bil postopek lahek.