Як видалити пароль MySQL root [закритий]


195

Я хочу видалити пароль для root користувача в localhost. Як я можу це зробити? Я помилково встановив пароль root користувача. Ось чому phpmyadmin видає помилку:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)


4
Чому б не налаштувати ваш phpMyAdmin на використання пароля root?
sisve

2
Документація MySQL містить інструкції щодо скидання пароля root у випадку, якщо ви його забули.
Майкл Мадсен

Зауважте, що, починаючи з MySQL 5.7, випадковий кореневий пароль встановлюється за замовчуванням, і ви не можете його видалити, попередньо не вимкнувши validate_passwordплагін. Дивіться мою статтю Видалення кореневого пароля MySQL або цей суть безпосередньо.
Бенджамін

Відповіді:


360

Потрібно встановити пароль, root@localhostщоб він був порожнім. Є два способи:

  1. Команда MySQL SET PASSWORD:

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. Використання інструмента командного рядка mysqladmin:

    mysqladmin -u root -pType_in_your_current_password_here password ''

1
як я можу скинути пароль для пертикулярної бази даних?
нектар

4
mysqladmin -u root -pcurrent_password пароль '' - це ще один спосіб зробити це.
crackity_jones

7
Мені потрібно було mysqladmin -u root -p password ''потім ввести пароль.
crizCraig

2
@crizCraig, ймовірно, тому, що вашого пароля не було CURRENTPASSWORD, аргумент пароля (на відміну від інших аргументів) не має місця після нього. Якщо ви пропустите пароль, він підкаже вас для одного ( doc )
Jason Sperske

3
@mOna спробуйте таким чином: 1- вимкніть mysql (вимкнення сервісу або вбивство); 2- створити файл, що містить SET PASSWORD FOR root@localhost=PASSWORD('');виклик restore; 3- дзвінок mysqld_safe --init-file=path/to/restore; Нарешті увійдіть і знову змініть пароль із тим, що вам більше зручно.
Даріо

23

Я також пережив цю проблему,

Спочатку я спробував встановити свій пароль root на порожній за допомогою команди:

SET PASSWORD FOR root@localhost=PASSWORD('');

Але не радійте, PHPMYADMIN використовує 127.0.0.1, а не localhost, я знаю, ви б сказали, що обидва однакові, але це не так, використовуйте команду, згадану нижче, і ви закінчили.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

Просто замініть localhost на 127.0.0.1, і ви закінчили.


3
Встановити PASSWORD для root @ localhost = PASSWORD (''); працював на мене
workdreamer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.