Невозможно установить корневой пароль MySQL на ноль

При установке mysql я ничего не помещал в поля пароля root, но при запуске mysql -u root Я все еще получил Access denied for user 'root'@'localhost',

Я запустил MySQL в безопасном режиме без таблиц грантов, sudo mysql_safe --skip-grant-tables &, а затем прыгнул с mysql -u root без проблем.

Тогда я сделал use mysql; update user set authentication_string=null where user='root'; и я получил:

Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

Кто-нибудь знает, почему пароль не обновляется?

2 ответа

Решение

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

update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES;

Ты забыл

FLUSH PRIVILEGES;

Шаг за шагом это будет так

Остановите сервер MySQL.

sudo /etc/init.d/mysql stop

Запустите конфигурацию mysqld.

sudo mysqld --skip-grant-tables &

Войдите в MySQL как пользователь root.

mysql -u root mysql

Замените YOURNEWPASSWORD новым паролем!

UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
Другие вопросы по тегам