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

Date April 1st, 2010 Author Vitaly Agapov

Незачем придумывать предыстории и искать подоплёку. Есть простая проблема – у нас есть MySQL, но нет пароля к пользователю root или к любому пользователю “with grant option”.
Решается задача так:

1. Остановим mysqld и запустим его с параметром –skip-grant-tables:

/etc/init.d/mysqld stop
/usr/libexec/mysqld -u mysql --skip-grant-tables &

Тут главное – не запускать mysqld от имени root, иначе ничего не получится

UPD: В Ubuntu 12.04 LTS можно всё делать от root’а:

/etc/init.d/mysqld stop
/usr/sbin/mysqld -u mysql --skip-grant-tables &

2. Подключаемся к MySQL и сносим пароль пользователя root:

use mysql
update user set password='' where user='root';

3. Перезапускаем MySQL в штатном режиме и логинимся как root без пароля:

killall -9 mysqld
/etc/init.d/mysqld start
mysql -u root
> SET PASSWORD FOR root@localhost = PASSWORD('123456');
# или
> grant all privileges on *.* to root@localhost identified by '123456' with grant option

> FLUSH PRIVILEGES;

Tags:
Category: MySQL | No comments »

Comments

Leave a comment

 Comment Form