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'

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


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


Спасибо! Эти шаги работали и для меня, и sudoтеперь мне не нужно использовать mysql! Похоже, замена хоста localhostна %решенную проблему для меня.
Викрам Хосакоте

но все еще не может получить удаленный доступ
Ciasto piekarz

У меня не сработало, теперь я не могу войти с или без sudo!
Дэвид Пауэлл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.