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

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

Открывем 2 консоли и в одной запускаем сервекр без привелегий, а в другой выполняем вход в БД пользователем root.

console 1:

$ service mysql stop $ /usr/bin/mysqld_safe --skip-grant-tables --user=mysql $ /etc/init.d/mysql restart

console 2:

$ mysql -u root $ UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root'; $ FLUSH PRIVILEGES; $ EXIT; $ pkill -9 mysql

Если пользователь отсутствует

$ mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO root@localhost;
mysql> GRANT USAGE ON *.* TO root@localhost;

Если пользователь debian-sys-maint отсутствует

* Восстановление пользователя debian-sys-maint

Если запущен mysqld --skip-grant-tables

shell> mysql --user=root mysql
mysql> INSERT INTO user VALUES('localhost','root', PASSWORD('password'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',1000,1000,1000,1000,'','','N','N');
mysql> INSERT INTO user SET Host='localhost', User='root', Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','root','');
mysql> FLUSH PRIVILEGES;