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, чи можете ви також відмовитись від припущення, хоча б пояснення, чому це дурне питання?
користувач1379280

Це може бути пов’язано. Подивіться на деякі відповіді: askubuntu.com/questions/766334/…
Терранс,

Ви встановили корінний пароль для mysql під час встановлення?
steeldriver

@steeldriver: так, я зробив
користувач1379280

Відповіді:


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

Шрифт: не вдається ввійти як користувач mysql root із звичайного облікового запису користувача в ubuntu 16.04


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

але все ще не можете отримати доступ віддалено
Ciasto piekarz

Не працювало для мене, тепер я не можу ввійти з судо або без нього!
Девід Пауелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.