{{tag>mysql database}}

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


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

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

==== console 1: ====

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

==== console 2: ====


<code bash>
$ mysql -u root
$ UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
$ FLUSH PRIVILEGES;
$ EXIT;
$ pkill -9 mysql
</code>
==== Если пользователь отсутствует ====

  $ 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 отсутствует ====
  
* [[mysql:debian|]]
==== Если запущен 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;