mysql -u root не работает, но sudo mysql -u root работает, почему?

9

Недавно я следовал некоторым учебникам и установил mysql, используя sudo apt-get install mysql-server-5.7

Я могу подключиться к базе данных с помощью пароля, выполнив следующую команду:

sudo mysql -u root -p

Я пытаюсь подключиться, запустив:

mysql -u root -p

но я получаю ошибку:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Почему? Как я могу это исправить?

user1379280
источник
2
Уважаемый downvoter, вы также можете опустить причину downvote, хотя бы объяснение, почему это глупый вопрос?
user1379280
Это может быть связано. Посмотрите на некоторые ответы: askubuntu.com/questions/766334/…
Terrance
Вы установили пароль root для mysql во время установки?
SteelDriver
@steeldriver: да, я сделал
user1379280

Ответы:

23
  1. Доступ с помощью sudo: sudo mysql -u root -p
  2. Удалить пользователя root: drop user 'root'@'localhost';
  3. Снова создайте пользователя root: create user 'root'@'%' identified by 'your_password';
  4. Дайте разрешения: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Обновить таблицы разрешений: flush privileges;
  6. Выйдите из MYSQL и попытайтесь восстановить соединение без sudo.

Шрифт: невозможно войти в систему как пользователь root mysql из учетной записи обычного пользователя в Ubuntu 16.04

thiagoBarbosa48
источник
Спасибо! Эти шаги работали и для меня, и sudoтеперь мне не нужно использовать mysql! Похоже, замена хоста localhostна %решенную проблему для меня.
Викрам Хосакоте
но все еще не может получить удаленный доступ
Ciasto piekarz
У меня не сработало, теперь я не могу войти с или без sudo!
Дэвид Пауэлл