Невозможно установить корневой пароль 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;