Не задаётся пароль для пользователя ROOT в MySQL

У меня такая проблема - и на линуксе, и на винде у меня не всегда ставится пароль для root пользователя в MySQL. Не понимаю, в чём проблема. На линуксе провожу sudo mysql_secure_installation но когда я пытаюсь подключится мне пишет:

Access denied for user 'root'@'localhost'

Ответы (1 шт):

Автор решения: aa.arsenenko

Сначала попробуйте авторизоваться от имени root в системе и подключиться

mysql

Иногда это работает.
В новых версиях ...

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

SELECT user,authentication_string,plugin,host FROM mysql.user;


Если не сработало, остановите службу mysql

systemctl stop mysqld

mysqld --skip-grant-tables

mysql

USE mysql;

UPDATE user SET Password=PASSWORD('ваш_пароль') where USER='root';

FLUSH PRIVILEGES;

права над всеми таблицами

GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

  • перезапустить базу данных и работать .

    systemctl start mysqld

версиях после MySQL 5.7.6 (изменения пароля)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
→ Ссылка