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.
- A MySQL 8 telepítése CentOS, RHEL és Fedora rendszerben
- 15 hasznos MySQL teljesítményhangolási és -optimalizálási tipp
- 12 MySQL biztonsági gyakorlat Linuxhoz
- 4 Hasznos parancssori eszközök a MySQL teljesítményének figyeléséhez
- 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.