Weboldal keresés

A gyökérjelszó visszaállítása a MySQL 8.0-ban


Abban a szerencsétlen esetben, ha elfelejti vagy elveszíti MySQL root jelszavát, biztosan szüksége lesz egy módra a visszaállítására. Amit tudnunk kell, hogy a jelszó a felhasználók táblájában van tárolva. Ez azt jelenti, hogy ki kell találnunk egy módot a MySQL hitelesítés megkerülésére, hogy frissíthessük a jelszórekordot.

Szerencsére van egy könnyen elérhető, és ez az oktatóanyag végigvezeti Önt a gyökérjelszó helyreállításának vagy visszaállításának folyamatán a MySQL 8.0 verziójában.

A MySQL dokumentációja szerint kétféleképpen állíthatja vissza a root MySQL jelszót. Mindkettőt felülvizsgáljuk.

Állítsa vissza a MySQL gyökérjelszót az –init-fájl használatával

A root jelszó visszaállításának egyik módja az, hogy létrehoz egy helyi fájlt, majd elindítja a MySQL szolgáltatást a --init-file opcióval, ahogy az ábrán látható.

vim /home/user/init-file.txt

Fontos, hogy megbizonyosodjon arról, hogy a fájl olvasható a mysql felhasználó számára. A fájlba illessze be a következőket:

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

A fentiekben módosítsa az „new_password” értéket a használni kívánt jelszóra.

Most győződjön meg arról, hogy a MySQL szolgáltatás leállt. A következőket teheti:

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

Ezután futtassa a következőt:

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

Ez elindítja a MySQL szolgáltatást, és a folyamat során végrehajtja az Ön által létrehozott init-fájlt, és így frissül a root felhasználó jelszava. A jelszó visszaállítása után feltétlenül törölje a fájlt.

Ügyeljen arra, hogy állítsa le a szervert, és ezután indítsa el a szokásos módon.

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

Most már képesnek kell lennie root felhasználóként csatlakozni a MySQL szerverhez az új jelszó használatával.

mysql -u root -p

Állítsa vissza a MySQL gyökérjelszót a –skip-grant-tables használatával

A második lehetőségünk az, hogy elindítjuk a MySQL szolgáltatást a --skip-grant-tables opcióval. Ez kevésbé biztonságos, mivel amíg a szolgáltatás így indul, minden felhasználó jelszó nélkül csatlakozhat.

Ha a kiszolgálót --skip-grant-tables indítja el, a --skip-networking opció automatikusan aktiválódik, így a távoli kapcsolatok nem lesznek elérhetők.

Először győződjön meg arról, hogy a MySQL szolgáltatás leállt.

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

Ezután indítsa el a szolgáltatást a következő opcióval.

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

Ezután egyszerűen futva csatlakozhat a mysql szerverhez.

mysql

Mivel a fiókkezelés le van tiltva a szolgáltatás indításakor a --skip-grant-tables opcióval, újra kell töltenünk a támogatásokat. Így később módosítani tudjuk a jelszót:

FLUSH PRIVILEGES;

Most futtathatja a következő lekérdezést a jelszó frissítéséhez. Ügyeljen arra, hogy a „new_password” értéket a ténylegesen használni kívánt jelszóra módosítsa.

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

Most állítsa le a MySQL szervert, és indítsa el a szokásos módon.

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

Tudnia kell csatlakozni az új jelszavával.

mysql -u root -p

Érdemes lehet elolvasni ezeket a hasznos MySQL-lel kapcsolatos cikkeket is.

  1. A MySQL 8 telepítése CentOS, RHEL és Fedora rendszerben
  2. 15 hasznos MySQL teljesítményhangolási és -optimalizálási tipp
  3. 12 MySQL biztonsági gyakorlat Linuxhoz
  4. 4 Hasznos parancssori eszközök a MySQL teljesítményének figyeléséhez
  5. MySQL Database Adminstartion Commands
Következtetés

Ebből a cikkből megtanulta, hogyan állíthatja vissza az elveszett root jelszót a MySQL 8.0 szerverhez. Remélem egyszerű volt a folyamat.