Liigu peamise sisu juurde

Kuidas muuta MySQL root-kasutaja ja tavakasutajate parooli

· 3 min lugemine
Customer Care Engineer

Unustasite MySQL-i root-kasutaja parooli? Ärge muretsege, see juhtub ka kogenud administraatoritel. Selles artiklis selgitame, kuidas lähtestada MySQL root-kasutaja parool erinevate versioonide jaoks: MySQL 5.7 ja MySQL 8.0+ Lisaks käsitleme, kuidas lähtestada tavalise andmebaasikasutaja parooli.

MariaDB puhul vaadake meie eraldi juhendit.

info

Root (juurkasutaja) on peamine andmebaasiadministraator. Neil on täielik juurdepääs kõikidele andmetele ja seadistustele. Kui te seda parooli kaotate, ei saa te teatud seadistusi enam muuta ega mõningaid käske täita.

Kõik toimingud viiakse läbi käsurea kaudu SSH-i abil. Üksikasjalikumaid juhiseid oma serveriga selle protokolli kaudu ühenduse loomise kohta leiate sellest artiklist.

Enne jätkamist kontrollige faili /root/.my.cnf sisu. Sageli sisaldab see juurdepääsuks MySQL-i praegust root-kasutaja parooli.

Saate ühendust testida järgmise käsuga:

mysql -u root -p

Seejärel sisestage parool failist .my.cnf.

Kui parool ei tööta, järgige alltoodud juhiseid.


Kuidas lähtestada MySQL root-kasutaja parool

1. samm: peatage MySQL

Parooli lähtestamiseks peate kõigepealt peatama MySQL-i. Sisestage järgmine käsk:

  • Debiani ja Ubuntu jaoks:
systemctl stop mysql
  • CentOS/RockyLinux/AlmaLinux jaoks:
systemctl stop mysqld

2. samm: taaskäivitage server turvarežiimis

  • Debiani ja Ubuntu jaoks:

Veenduge, et kataloog, kust MySQL käivitatakse, on olemas ja sellel on sobiv omanik:

mkdir -p /var/run/mysqld/ && chown -R mysql: /var/run/mysqld/

Käivitage MySQL server ilma juurdepääsukontrollita:

mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &

Kui MySQL käivitub õigesti, näete teadet, mis sarnaneb järgmisega:

2024-11-28T23:50:19.298141Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Jätkamiseks käsureal vajutage „Ctrl + C“.

  • CentOS/RockyLinux/AlmaLinux jaoks:
sudo -u mysql mysqld --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &

3. samm: ühenduge MySQL-iga

 mysql --socket=/var/run/mysqld/mysqld.sock

4. samm: lähtestage parool

  • MySQL 5.7 jaoks täitke järjest järgmised käsud:
FLUSH PRIVILEGES;

Kohaliku kasutaja jaoks:

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

Võrgukasutaja jaoks (kui see eksisteerib):

ALTER USER 'root'@'%' IDENTIFIED BY 'NewPassword';

Seejärel:

FLUSH PRIVILEGES;

Asendage NewPassword soovitud uue parooliga.

info

„user'@'localhost“ viitab kohalikule kasutajale, kes ühendub pesa või localhosti kaudu. „user'@'%' viitab võrgukasutajale, kellel on juurdepääs mis tahes IP-aadressilt.

Saate nende kasutajate jaoks määrata sama või erineva parooli. Kui võrgukasutajat pole olemas, annab käsk @'%' vea.

Väljuge MySQL-ist, kasutades käsku exit või vajutades „Ctrl + D“.

  • MySQL 8.0+ jaoks täitke järgmised käsud:
FLUSH PRIVILEGES;

Kohaliku kasutaja jaoks:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Võrgukasutaja jaoks (kui see eksisteerib):

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Seejärel:

FLUSH PRIVILEGES;

Asendage NewPassword soovitud uue parooliga.

Väljuge MySQL-ist, kasutades käsku exit või vajutades „Ctrl + D“.

5. samm: taaskäivitage MySQL

Peatage MySQL:

mysqladmin shutdown --socket=/var/run/mysqld/mysqld.sock -p

Seejärel sisestage eelnevalt määratud root-kasutaja parool.

Käivitage MySQL tavarežiimis:

  • Debiani ja Ubuntu jaoks:
systemctl start mysql
  • CentOS/RockyLinux/AlmaLinux jaoks:
systemctl start mysqld

Kuidas lähtestada tavakasutajate parool

Kui unustasite parooli mõne muu kasutaja kui root-kasutaja jaoks, on lähenemisviis sarnane:

  1. Ühenduge MySQL serveriga administraatorina (root):
mysql -u root -p

Sisestage oma MySQL root-kasutaja parool.

  1. Täitke käsk parooli muutmiseks:
  • MySQL 5.7:

Kohaliku kasutaja jaoks:

ALTER USER 'username'@'localhost' IDENTIFIED BY 'NewUserPassword';

Võrgukasutaja jaoks (kui see eksisteerib):

ALTER USER 'username'@'%' IDENTIFIED BY 'NewUserPassword';

Seejärel:

FLUSH PRIVILEGES;

Asendage username olemasoleva kasutajanimega ja NewUserPassword soovitud uue parooliga.

Väljuge MySQL-ist, kasutades käsku exit või vajutades „Ctrl + D“.

  • MySQL 8.0+:

Kohaliku kasutaja jaoks:

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Võrgukasutaja jaoks (kui see eksisteerib):

ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Asendage username olemasoleva kasutajanimega ja NewUserPassword soovitud uue parooliga.

Seejärel väljuge MySQL-ist, kasutades käsku exit või klahvikombinatsiooni „Ctrl + D“.

Vajadusel saate loetleda kõik kasutajad järgmise päringuga:

SELECT User, Host FROM mysql.user;

Kuidas ühenduda MySQL-iga kohapeal ilma parooli sisestamata

Et vältida parooli iga kord käsitsi sisestamist, kui ühendute MySQL-iga oma serveri käsurealt, saate selle salvestada faili /root/.my.cnf. Avage fail tekstiredaktoris:

nano /root/.my.cnf

Lisage järgmised read:

[client]

user = root
password = YourRootPassword

Asendage YourRootPassword oma tegeliku root-kasutaja parooliga.

Seejärel salvestage fail klahvikombinatsiooniga „Ctrl + O“ ja väljuge tekstiredaktorist klahvikombinatsiooniga „Ctrl + X“.

Turvalisuse tagamiseks määrake failile .my.cnf rangemad õigused:

chmod 600 /root/.my.cnf

Pärast seda seadistust saate ühenduse luua, lihtsalt käivitades käsu:

mysql -u root