maxxtweek
@maxxtweek
Начинающий бекэнд разработчик

Как правильно сбросить пароль у root?Или правильно установить mysql?

Всем привет, давно установил mysql на ubuntu 18
Уже не помню, что именно произошло, Но пароль от рута при установке я не вводил, поэтому в mysql можно зайти через терминал
sudo mysql

Забил на эту проблему, создал пользователя non-root и через него все время работал
mysql -u non-root -p

Тут понадобилось накатить бэкап одной БД, пытаюсь сделать
mysqldump -u non-root -p table_name < dump.sql

пишет
mysqldump: Got error: 1044: Access denied for user 'non'@'localhost' to database 'banks_expert_new2' when using LOCK TABLES
, сначала я подумал, что не хватает прав(хотя, когда я создавал этого пользователя, давал ему все права)
Идем в БД, проверяем
SHOW GRANTS FOR root@localhost;

Далее, я решил поменять пароль у root'a
зашел в бд под рутом(наверно) без ввода пароля
sudo mysql

Ввел
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'secret';
Query OK, 0 rows affected (0.00 sec)

Перезапустил сервер, пытаюсь залогиниться под рутом

$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Сами вопросы:
Как правильно сбросить пароль для рута, чтобы я смог накатить бэкап?
Почему у пользователя со всеми привилегиями нет доступа?
Заранее благодарю за ответы
P.S. Простите, за такое кривое объяснение :)
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
восстановление пароля рута на мускул многократно описано в гугле, даже спрашивать тут это стыдно ;)

Вы когда пользователю права давали - вы как это делали?
grant all on *.* to non-root@localhost identified by 'secret'
или
grant all on *.* to non-root@localhost identified by 'secret' with grant option;

последний вариант дает пользователю право задавать права другим пользователям.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы