Распространенной проблемой при работе с базами данных mysql является потеря пароля рута по разного рода причинам. В этой статье будет описано как без потери данных можно быстро восстановить пароль root в mysql на примере систем Debian/Ubuntu.
Обычно при попытке запуска mysql
такая проблема сопровождается сообщением:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
или
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Для смены пароля суперпользователя в mysql предварительно войдите в сеанс root в консоли:
su
Затем остановите запущенный сервис mysql:
service mysql stop
После команды:
mysqld_safe --skip-grant-tables &
вы сможете войти в mysql без пароля:
mysql -uroot mysql
В сеансе управления mysql введите следующие строки:
UPDATE user SET password=PASSWORD("your_password") WHERE user="root";
FLUSH PRIVILEGES;
EXIT
Где вместо your_password – введите ваш пароль.
После этого остается только запустить mysql:
/etc/init.d/mysql restart
Спасибо, оказывается есть одно “НО” когда набираешь mysql -uroot mysql то появляется вот такая строчка: mysql> (это значит ты вошел) и вводиш после входа UPDATE user SET password=PASSWORD(“ХХХХХХХ”) WHERE user=”root”; то появляется вот что : -> и всё, на команды не реагирует постоянно появляется -> , даже выход EXIT не хочет срабатывать . Вообщем это просто был глюк системы . потом после некоторых перезагрузок все стало принимать нормально.
спасибо друзья, помогли.
update user set authentication_string=password(‘1111′) where user=’root’;