Как показано на шаге 2, перезапустите демон mysql в безопасном режиме.
Issue команда
select user,host,password from mysql.user where user='root';
вырезание и вставка вывода в текстовый редактор для сравнения (из беспорядочных значений столбцов пароля) до и после того, как в следующем.
Для каждой строки обратите внимание на колонку host
. В следующем примере я предполагаю, что у меня две строки. В одном ряду есть %
в качестве принимающей стороны, у следующего есть
Для каждой строки, у которой была вариация host
, вы будете выдать одну команду. Так что в моем примере выше, я бы выпуск 2 команды в общей сложности, такие как:
SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
прогонов
select user,host,password from mysql.user where user='root';
вырезать и вставить, что в текстовом редакторе. Обратите внимание на изменение хэша паролей.
Выключите демона из безопасного режима и перезагрузитесь нормально.
Попробуйте войти как корень с MyNewPassword
Вот несколько ссылок. Один для SET PASSWORD Syntax, и часто следующий шаг для GRANT Syntax.
Для ограниченного объема этого вопроса, то есть для входа в систему, гранты не нужны. Но без надлежащих грантов для баз данных можно было бы изолировать песочницу, не в состоянии сделать многое, кроме простых команд, например, select now();
Я не предлагаю, чтобы ваш пользователь root не имел привилегий после изменения пароля. Гранты необходимы для нормальных пользователей.
для ударов, попробуйте его без пробелов между пунктиром p и паролем – Drew
, возможно, вы должны проверить поле имени хоста записи (ов) в таблице пользователя –
, поскольку @DanielAlder говорит, вернитесь с шагом2 и выпустите ' выберите пользователя, хост, пароль из mysql.user, где user = 'root'; ', и посмотрите, есть ли у вас несколько строк вывода, где хешированный пароль отличается от проверки на глаз – Drew