Сброс пароля пользователя root в mysql

Материал из Wiki МИАЦ ВО
Версия от 10:08, 27 января 2017; Misha (обсуждение | вклад) (MYSQL 5.7)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Для старых версий MYSQL

Взято тут
Наша память, к сожалению, нас иногда подводит. И мы никак не можем вспомнить железно, как нам кажется, отпечатанный в памяти пароль. Вы можете сказать, что нужно иметь записную книжку а лучше две, и конечно будете правы. Но... Тем не менее иногда все-таки возникает необходимость восстановления забытого, либо утраченного пароля. Сегодня я опишу простой метод восстановления пароля суперпользователя root для базы данных mysql.

Для этого необходимо выполнить всего несколько шагов.
1. Останавливаем mysql.

service mysqld stop

2. Запускаем mysql следующей командой:

/usr/bin/mysqld_safe --skip-grant-tables --user=root &

3. Запускаем клиента mysql

mysql -u root

4. Выполняем sql запрос

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

где newpwd - новый пароль.
5. Применяем изменения

FLUSH PRIVILEGES;

6. Выходим из mysql клиента выполнив в нем команду exit
7. Перегружаем mysql сервер.

service mysqld restart

MYSQL 5.7

Взято тут
1. Останавливаем mysql.

service mysqld stop

2. Создаем файл mysql-init.txt следующего содержания:
Для версий MySQL 5.7.6 и больше:

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

Для версий MySQL 5.7.5 и меньше:

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

3. Из консоли запускаем:

mysqld --init-file=mysql-init.txt

4. После этого запускаем сервис MYSQL

service mysqld start