Kā mainīt MySQL paroli root lietotājam un parastajiem lietotājiem
Aizmirsi MySQL root paroli? Neuztraucieties, tas notiek pat pieredzējušiem administratoriem. Šajā rakstā mēs paskaidrosim, kā atiestatīt MySQL saknes paroli dažādām versijām: MySQL 5.7 un MySQL 8.0+. Turklāt mēs apskatīsim, kā atiestatīt paroli parastam datubāzes lietotājam.
Attiecībā uz MariaDB lūdzam skatīt mūsu atsevišķo ceļvedi.
Root ir galvenais datubāzes administrators. Tam ir pilna piekļuve visiem datiem un iestatījumiem. Ja pazaudēsiet šo paroli, noteiktu iestatījumu maiņa un dažu komandu izpilde vairs nebūs iespējama.
Visas operācijas tiks veiktas, izmantojot komandrindu, caur SSH. Sīkākas instrukcijas par savienojumu ar jūsu serveri, izmantojot šo protokolu, atradīsiet šajā rakstā.
Pirms turpināt, pārbaudiet /root/.my.cnf faila saturu. Bieži vien tas satur pašreizējo root paroli MySQL piekļuvei.
Jūs varat pārbaudīt savienojumu, izmantojot komandu:
mysql -u root -p
Pēc tam ievadiet paroli no .my.cnf faila.
Ja parole nedarbojas, sekojiet tālāk esošajām instrukcijām.
Kā atiestatīt MySQL root paroli
1. darbība: Apturiet MySQL
Lai atiestatītu paroli, vispirms ir jāaptur MySQL. Ievadiet šādu komandu:
- Debian un Ubuntu gadījumā:
systemctl stop mysql
- CentOS/RockyLinux/AlmaLinux gadījumā:
systemctl stop mysqld
2. darbība: Restartējiet serveri drošā režīmā
- Debian un Ubuntu gadījumā:
Pārliecinieties, ka direktorija, no kuras tiks palaists MySQL, pastāv un tai ir atbilstošs īpašnieks:
mkdir -p /var/run/mysqld/ && chown -R mysql: /var/run/mysqld/
Palaidiet MySQL serveri bez piekļuves kontroles:
mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &
Ja MySQL startējas pareizi, redzēsit ziņojumu, kas līdzīgs:
2024-11-28T23:50:19.298141Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Lai turpinātu darbu komandrindā, nospiediet “Ctrl + C”.
- CentOS/RockyLinux/AlmaLinux gadījumā:
sudo -u mysql mysqld --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &
3. darbība: Savienojums ar MySQL
mysql --socket=/var/run/mysqld/mysqld.sock
4. darbība: Atiestatiet paroli
- Attiecībā uz MySQL 5.7, izpildiet šādas komandas secīgi:
FLUSH PRIVILEGES;
Lokālajam lietotājam:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Tīkla lietotājam (ja tāds pastāv):
ALTER USER 'root'@'%' IDENTIFIED BY 'NewPassword';
Pēc tam:
FLUSH PRIVILEGES;
Aizstājiet NewPassword ar savu vēlamo jauno paroli.
'user'@'localhost' attiecas uz lokālo lietotāju, kas savienojas, izmantojot socket vai localhost. 'user'@'%' attiecas uz tīkla lietotāju ar piekļuvi no jebkura IP adreses.
Jūs varat iestatīt vienādu vai atšķirīgu paroli šiem lietotājiem. Ja tīkla lietotājs neeksistē, komanda @'%' izraisīs kļūdu.
Izmantojiet exit komandu vai nospiediet “Ctrl + D”, lai izietu no MySQL.
- Attiecībā uz MySQL 8.0+, izpildiet šādas komandas:
FLUSH PRIVILEGES;
Lokālajam lietotājam:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';
Tīkla lietotājam (ja tāds pastāv):
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword';
Pēc tam:
FLUSH PRIVILEGES;
Aizstājiet NewPassword ar savu vēlamo jauno paroli.
Izmantojiet exit komandu vai nospiediet “Ctrl + D”, lai izietu no MySQL.
5. darbība: Restartējiet MySQL
Apturiet MySQL:
mysqladmin shutdown --socket=/var/run/mysqld/mysqld.sock -p
Pēc tam ievadiet iepriekš iestatīto root paroli.
Palaidiet MySQL normālā režīmā:
- Debian un Ubuntu gadījumā:
systemctl start mysql
- CentOS/RockyLinux/AlmaLinux gadījumā:
systemctl start mysqld
Kā atiestat īt paroli parastajiem lietotājiem
Ja esat aizmirsis paroli lietotājam, kas nav root, pieeja ir līdzīga:
- Savienojieties ar MySQL serveri kā root:
mysql -u root -p
Ievadiet savu MySQL saknes paroli.
- Izpildiet komandu, lai mainītu paroli:
- MySQL 5.7:
Lokālajam lietotājam:
ALTER USER 'username'@'localhost' IDENTIFIED BY 'NewUserPassword';
Tīkla lietotājam (ja tāds pastāv):
ALTER USER 'username'@'%' IDENTIFIED BY 'NewUserPassword';
Pēc tam:
FLUSH PRIVILEGES;
Aizstājiet username ar esošo lietotājvārdu un NewUserPassword ar jauno vēlamo paroli.
Izmantojiet exit komandu vai nospiediet “Ctrl + D”, lai izietu no MySQL.
- MySQL 8.0+:
Lokālajam lietotājam:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';
Tīkla lietotājam (ja tāds pastāv):
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword';
Aizstājiet username ar esošo lietotājvārdu un NewUserPassword ar jauno vēlamo paroli.
Pēc tam izmantojiet exit komandu vai “Ctrl + D” taustiņu kombināciju, lai izietu no MySQL.
Ja nepieciešams, varat uzskaitīt visus lietotājus ar šādu vaicājumu:
SELECT User, Host FROM mysql.user;
Kā savienoties ar MySQL lokāli bez paroles ievadīšanas
Lai katru reizi, kad savienojaties ar MySQL no komandrindas jūsu serverī, nebūtu manuāli jāievada parole, varat to saglabāt /root/.my.cnf failā. Atveriet failu teksta redaktorā:
nano /root/.my.cnf
Pievienojiet šādas rindas:
[client]
user = root
password = YourRootPassword
Aizstājiet YourRootPassword ar savu faktisko root paroli.
Pēc tam saglabājiet failu, izmantojot “Ctrl + O” taustiņu kombināciju, un iziet no teksta redaktora ar “Ctrl + X”.
Drošības nolūkos iestatiet stingrākus atļauju līmeņus .my.cnf failam:
chmod 600 /root/.my.cnf
Pēc šīs iestatīšanas varat savienoties, vienkārši izpildot komandu:
mysql -u root