Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да нулирате Root парола в MySQL 8.0

В нежелан случай на забравяне или загуба на вашата MySQL root парола, със сигурност ще ви е необходим начин да я възстановите по някакъв начин. Това, което трябва да знаем, е, че паролата се съхранява в таблицата на потребителите. Това означава, че трябва да намерим начин да заобиколим удостоверяването на MySQL, за да можем да актуализираме записа на паролата.

За щастие има лесна за постигане и този урок ще ви преведе през процеса на възстановяване или нулиране на root парола във версия на MySQL 8.0.

Според документацията на MySQL има два начина за нулиране на root паролата за MySQL. Ще прегледаме и двете.

Нулирайте MySQL Root парола с помощта на –init-file

Един от начините за нулиране на root паролата е да създадете локален файл и след това да стартирате услугата MySQL с помощта на --init-file опция, както е показано.

# vim /home/user/init-file.txt

Важно е да се уверите, че файлът е четим от потребителя на mysql. В този файл поставете следното:

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

В горната промяна „нова_парола ” с паролата, която искате да използвате.

Сега се уверете, че услугата MySQL е спряна. Можете да направите следното:

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

След това изпълнете следното:

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

Това ще стартира услугата MySQL и по време на процеса тя ще изпълни init-файла, който сте създали и по този начин паролата за root потребителя ще бъде актуализирана. Уверете се, че сте изтрили файла, след като паролата бъде нулирана.

Не забравяйте да спрете сървъра и да го стартирате нормално след това.

# 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

Вече трябва да можете да се свържете с MySQL сървъра като root, като използвате новата парола.

# mysql -u root -p

Нулиране на MySQL Root парола с помощта на –skip-grant-tables

Втората опция, която имаме, е да стартираме услугата MySQL с --skip-grant-tables опция. Това е по-малко сигурно, тъй като докато услугата се стартира по този начин, всички потребители могат да се свързват без парола.

Ако сървърът е стартиран --skip-grant-tables , опцията за --skip-networking се активира автоматично, така че отдалечените връзки няма да са налични.

Първо се уверете, че услугата MySQL е спряна.

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

След това стартирайте услугата със следната опция.

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

След това можете да се свържете със сървъра на mysql, като просто стартирате.

# mysql

Тъй като управлението на акаунта е деактивирано, когато услугата се стартира с --skip-grant-tables опция, ще трябва да презаредим безвъзмездните средства. По този начин ще можем да променим паролата по-късно:

# FLUSH PRIVILEGES;

Сега можете да изпълните следната заявка, за да актуализирате паролата. Не забравяйте да промените „new_password“ с действителната парола, която искате да използвате.

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

Сега спрете MySQL сървъра и го стартирайте нормално.

# 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

Трябва да можете да се свържете с новата си парола.

# mysql -u root -p

Може да искате да прочетете и тези полезни статии, свързани с MySQL.

  1. Как да инсталирате MySQL 8 в CentOS, RHEL и Fedora
  2. 15 полезни съвета за настройка и оптимизиране на производителността на MySQL
  3. 12 MySQL практики за сигурност за Linux
  4. 4 полезни инструмента за команден ред за наблюдение на производителността на MySQL
  5. Команди за администриране на MySQL база данни
Заключение

В тази статия научихте как да нулирате изгубената root парола за сървъра MySQL 8.0. Надявам се, че процесът е бил лесен.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Дублиране на MySQL таблица, индекси и данни

  2. Как да настроите набора от символи и съпоставяне на таблица в MySQL

  3. Експортирайте данни от MySQL база данни

  4. MySQL:Предоставяне на **всички** привилегии на база данни

  5. MySQL подреждане по преди групиране по