Восстановление пароля
Восстановление пароля
Открывем 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 отсутствует
Если запущен 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;