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.
- MySQL 8: n asentaminen CentOSiin, RHEL: ään ja Fedoraan
- 15 hyödyllistä MySQL-suorituskyvyn viritys- ja optimointivinkkiä
- 12 MySQL-tietoturvakäytäntöä Linuxille
- 4 hyödyllistä komentorivityökalua MySQL-suorituskyvyn seuraamiseen
- MySQL-tietokannan hallintakomennot
Tässä artikkelissa opit palauttamaan kadonneen juurisalasanan MySQL 8.0 -palvelimelle. Toivon, että prosessi oli helppo.