Gana dažnai pasitaikanti problema kuomet vartotojas pamiršta MySQL serverio root slaptažodį. Pamokoje pateikiama kaip paprasta slaptažodžio keitimo seka AlmaLinux 10 operacinės sistemos aplinkoje.
Visos komandos vykdomos prisijungus prie serverio SSH konsolės root vartotojo teisėmis.
1. Patikrinkite DB tipą ir versiją
MySQL ar MariaDB ir kokia versija:
mysql --version
Nuo versijos priklauso, kuri slaptažodžio keitimo komanda tiks.
2. Sustabdome duomenų bazės servisą
MySQL atveju:
sudo systemctl stop mysql
MariaDB atveju:
sudo systemctl stop mariadb
3. Paleidžiame DB be teisių tikrinimo ir be tinklo
Šitas režimas leidžia prisijungti kaip root be slaptažodžio, nes neįkeliamos grant lentelės. Kad būtų saugiau, papildomai išjungiamas tinklo klausymas. Įvykdome:
sudo mysqld_safe --skip-grant-tables --skip-networking &
4. Prisijungiame kaip root be slaptažodžio
mysql -u root
Turėtume matyti MySQL arba MariaDB konsolės promptą.
5. Pakeičiame root slaptažodį
Įvykdome:
FLUSH PRIVILEGES;
Tada vykdome vieną iš žemiau esančių variantų pagal versiją.
MySQL 5.7.6 ir naujesnėms bei MariaDB 10.1.20 ir naujesnėms:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'naujas_stiprus_slaptažodis';
MySQL 5.7.5 ir senesnėms bei MariaDB 10.1.20 ir senesnėms:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('naujas_stiprus_slaptažodis');naujas_stiprus_slaptažodis pakeičiame į savo naują slaptažodį.
6. Sustabdome laikinai paleistą duomenų bazės servisą ir paleidžiame įprastai
MySQL atveju:
sudo systemctl stop mysql
MariaDB atveju:
sudo systemctl stop mariadb
Tada paleiskite servisą įprastai.
MySQL:
sudo systemctl start mysql
MariaDB:
sudo systemctl start mariadb
Patikriname prisijungimą su nauju slaptažodžiu:
mysql -u root -p
