четверг, 31 июля 2014 г.

Восстановление пароля MySQL

Останавливаем службу MySQL:
# service mysql stop

Запускаем службу с опцией --skip-grant-tables:
# mysqld_safe --skip-grant-tables &
[1] 6518
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[5722]: started


Или в конфиге my.cnf прописываем:
skip-grant-tables

Подключаемся с серверу MySQL при помощи клиента mysql:
# mysql -u root
mysql>


Вводим новый пароль для root:
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-PASS") where User='root';
mysql> flush privileges;
mysql> quit


В Percona 5,7 например это будет выглядить так:
mysql> update user set authentication_string=password('NEW-PASS') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

Останавливаем сервер MySQL:
# ps aufx | grep mysql | awk '{print $2}' | xargs kill -9

Запускаем MySQL-сервер и логинимся с новым паролем:
# service mysql start
# mysql -u root -p
Enter password: NEW-PASS

Комментариев нет: