Pääsalasanan palauttaminen MySQL 8.0:ssa
Jos unohdat tai kadotat MySQL-pääsalasanasi, tarvitset varmasti tavan palauttaa se jollakin tavalla. Meidän on tiedettävä, että salasana on tallennettu käyttäjätaulukkoon. Tämä tarkoittaa, että meidän on keksittävä tapa ohittaa MySQL-todennus, jotta voimme päivittää salasanatietueen.
Onneksi on helppo saavuttaa, ja tämä opetusohjelma opastaa sinua MySQL 8.0 -version pääkäyttäjän salasanan palautus- tai palautusprosessin läpi.
MySQL-dokumentaation mukaan on kaksi tapaa nollata MySQL-pääsalasana. Tarkistamme molemmat.
Palauta MySQL-pääsalasana käyttämällä -init-tiedostoa
Yksi tavoista nollata pääkäyttäjän 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ää varmistaa, että mysql-käyttäjä voi lukea tiedostoa. Liitä tähän tiedostoon seuraava:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Muuta yllä olevassa kohdassa new_password salasana, jota haluat käyttää.
Varmista nyt, että MySQL-palvelu on pysäytetty. Voit tehdä seuraavasti:
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 se suorittaa luomasi init-tiedoston ja siten pääkäyttäjän salasana päivittyy. Muista poistaa tiedosto, kun salasana on nollattu.
Muista pysäyttää palvelin ja käynnistää se sen jälkeen 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 nyt pystyä muodostamaan yhteys MySQL-palvelimeen pääkäyttäjänä uudella salasanalla.
mysql -u root -p
Palauta MySQL-pääsalasana käyttämällä -skip-grant-tables
Toinen vaihtoehto on käynnistää MySQL-palvelu --skip-grant-tables
-vaihtoehdolla. Tämä on vähemmän turvallinen, koska kun 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
, vaihtoehto --skip-networking
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 tilinhallinta on poistettu käytöstä, kun palvelu käynnistetään --skip-grant-tables
-vaihtoehdolla, meidän on ladattava apurahat uudelleen. Näin voimme vaihtaa salasanan myöhemmin:
FLUSH PRIVILEGES;
Nyt voit päivittää salasanan suorittamalla seuraavan kyselyn. Muista vaihtaa "new_password" oikeaan salasanaan, 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
Saatat myös haluta lukea nämä hyödylliset seuraavat MySQL-aiheiset artikkelit.
- Kuinka asentaa MySQL 8 CentOS-, RHEL- ja Fedoraan
- 15 hyödyllistä MySQL-suorituskyvyn viritys- ja optimointivinkkiä
- 12 MySQL-suojauskäytäntöä Linuxille
- 4 hyödyllistä komentorivityökalua MySQL-suorituskyvyn seurantaan
- MySQL-tietokannan hallintakomennot
Johtopäätös
Tässä artikkelissa opit palauttamaan kadonneen pääkäyttäjän salasanan MySQL 8.0 -palvelimelle. Toivottavasti prosessi oli helppo.