Всем привет, давно установил 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. Простите, за такое кривое объяснение :)