Root-salasanan palauttaminen MySQL 8.0: ssa


Valitettavassa tapauksessa unohdat tai kadotat MySQL-juurisalasanasi, tarvitset varmasti tapaa palauttaa se jotenkin. Meidän on tiedettävä, että salasana on tallennettu käyttäjien taulukkoon. Tämä tarkoittaa, että meidän on löydettävä tapa ohittaa MySQL-todennus, jotta voimme päivittää salasanatietueen.

Onneksi se on helppo saavuttaa, ja tämä opetusohjelma opastaa sinut juurisalasanan palauttamisen tai palauttamisen MySQL 8.0 -versiossa.

MySQL-ohjeiden mukaan MySQL-juurisalasana voidaan nollata kahdella tavalla. Tarkistamme molemmat.

Nollaa MySQL-pääsalasana käyttämällä –init-tiedostoa

Yksi tapa palauttaa pääsalasana on luoda paikallinen tiedosto ja käynnistää MySQL-palvelu käyttämällä --init-file -vaihtoehtoa kuvan mukaisesti.

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

On tärkeää, että varmistat, että mysql-käyttäjä voi lukea tiedoston. Liitä tiedostoon seuraava:

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

Muuta yllä oleva salasana uudelle salasanalle, jota haluat käyttää.

Varmista nyt, että MySQL-palvelu on pysäytetty. Voit tehdä seuraavat toimet:

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

Suorita sitten seuraava:

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

Tämä käynnistää MySQL-palvelun ja prosessin aikana suorittaa luomasi init-tiedoston ja siten pääkäyttäjän salasana päivitetään. Poista tiedosto, kun salasana on vaihdettu.

Muista pysäyttää palvelin ja käynnistää se normaalisti sen jälkeen.

# 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

Sinun pitäisi nyt pystyä muodostamaan yhteys MySQL-palvelimeen pääkäyttäjänä uuden salasanan avulla.

# mysql -u root -p

Nollaa MySQL-pääsalasana käyttämällä –skip-grant-taulukoita

Toinen vaihtoehto on käynnistää MySQL-palvelu --skip-grant-tables -vaihtoehdolla. Tämä on vähemmän turvallista, koska vaikka palvelu käynnistetään tällä tavalla, kaikki käyttäjät voivat muodostaa yhteyden ilman salasanaa.

Jos palvelin käynnistetään --skip-grant-tables , --skip-networking -vaihtoehto aktivoituu automaattisesti, joten etäyhteydet eivät ole käytettävissä.

Varmista ensin, että MySQL-palvelu on pysäytetty.

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

Käynnistä sitten palvelu seuraavalla vaihtoehdolla.

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

Sitten voit muodostaa yhteyden mysql-palvelimeen yksinkertaisesti suorittamalla.

# mysql

Koska tilin hallinta on poistettu käytöstä, kun palvelu käynnistetään --skip-grant-tables -vaihtoehdolla, meidän on ladattava apurahat uudelleen. Tällä tavalla voimme vaihtaa salasanan myöhemmin:

# FLUSH PRIVILEGES;

Nyt voit suorittaa seuraavan kyselyn päivittääksesi salasanan. Varmista, että vaihdat “new_password” todellisella salasanalla, jota haluat käyttää.

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

Pysäytä nyt MySQL-palvelin ja käynnistä se normaalisti.

# 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

Sinun pitäisi pystyä muodostamaan yhteys uudella salasanallasi.

# mysql -u root -p

Haluat ehkä myös lukea nämä hyödylliset seuraavat MySQL-artikkelit.

  1. MySQL 8: n asentaminen CentOSiin, RHEL: ään ja Fedoraan
  2. 15 hyödyllistä MySQL-suorituskyvyn viritys- ja optimointivinkkiä
  3. 12 MySQL-tietoturvakäytäntöä Linuxille
  4. 4 hyödyllistä komentorivityökalua MySQL-suorituskyvyn seuraamiseen
  5. MySQL-tietokannan hallintakomennot

Tässä artikkelissa opit palauttamaan kadonneen juurisalasanan MySQL 8.0 -palvelimelle. Toivon, että prosessi oli helppo.