Как мне получить мое имя пользователя и пароль MySQL?

StackOverflow https://stackoverflow.com/questions/4371

  •  08-06-2019
  •  | 
  •  

Вопрос

Я потерял свое имя пользователя и пароль MySQL.Как мне его восстановить?

Это было полезно?

Решение

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

Запустите процесс MySQL с параметром --skip-grant-tables.

Запустите консольный клиент MySQL с параметром -u root.

Перечислите всех пользователей;

SELECT * FROM mysql.user;

Сбросить пароль;

UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Но НЕ ЗАБЫВАЙ Для

Остановите процесс MySQL

Запустите процесс MySQL в обычном режиме (т. е.без опции --skip-grant-tables -пропустить-предоставить-таблицы)

когда вы закончите.В противном случае безопасность вашей базы данных может быть поставлена под угрозу.

Другие советы

К сожалению, ваш пароль пользователя невозможно восстановить.Он был хэширован с помощью одностороннего хэша, который, если вы не знаете, является необратимым.Я рекомендую использовать приведенный выше метод Xenph Yan и просто создать новый.

Вы также можете использовать следующую процедуру из руководство пользователя для сброса пароля для любого MySQL корень учетные записи в Windows:

  1. Войдите в свою систему как администратор.
  2. Остановите сервер MySQL, если он запущен.Для сервера, работающего как служба Windows, перейдите в раздел диспетчер служб:

Меню "Пуск" -> "Панель управления" -> "Администрирование" -> "Службы"

Затем найдите службу MySQL в списке и остановите ее.Если ваш сервер не запущен как служба, возможно, вам потребуется принудительно остановить его с помощью диспетчера задач.

  1. Создайте текстовый файл и поместите в него следующие инструкции.Замените пароль на тот, который вы хотите использовать.

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    

    Тот Самый Обновить и ПРОМЫВКА каждое утверждение должно быть написано в одной строке.Тот Самый Обновить инструкция сбрасывает пароль для всех существующих учетных записей root, и ПРОМЫВКА оператор сообщает серверу перезагрузить таблицы grant в память.

  2. Сохраните файл.В этом примере файлу будет присвоено имя C:\mysql-init.txt .
  3. Откройте окно консоли, чтобы перейти к командной строке:

    Меню "Пуск" -> Выполнить -> cmd

  4. Запустите сервер MySQL со специальным --инициализация файла вариант:

    C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
    

    Если вы установили MySQL в место, отличное от C:\mysql, соответствующим образом скорректируйте команду.

    Сервер выполняет содержимое файла, названного --инициализация файла опция при запуске, меняющая каждый корень пароль учетной записи.

    Вы также можете добавить --консоль опция для команды, если вы хотите, чтобы выходные данные сервера отображались в окне консоли, а не в файле журнала.

    Если вы установили MySQL с помощью Мастера установки MySQL, возможно, вам потребуется указать --значенияпоумолчанию-файл вариант:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
    

    Соответствующий --значенияпоумолчанию-файл настройки можно найти с помощью Диспетчера служб:

    Меню "Пуск" -> "Панель управления" -> "Администрирование" -> "Службы"

    Найдите службу MySQL в списке, щелкните по ней правой кнопкой мыши и выберите опцию Свойства.Поле Путь к исполняемому файлу содержит --значенияпоумолчанию-файл настройка.

  5. После успешного запуска сервера удалите C:\mysql-init.txt.
  6. Остановите сервер MySQL, затем снова перезапустите его в обычном режиме.Если вы запускаете сервер как службу, запустите его из окна служб Windows.Если вы запускаете сервер вручную, используйте любую команду, которую вы обычно используете.

Теперь вы должны иметь возможность подключиться к MySQL от имени root, используя новый пароль.

Улучшение самого полезного ответа здесь:

1] Нет необходимости перезапускать сервер mysql
2] Проблема безопасности сервера MySQL, подключенного к сети

Нет необходимости перезапускать сервер MySQL.

использование FLUSH PRIVILEGES; после обновления mysql.инструкция пользователя для смены пароля.

Оператор FLUSH сообщает серверу перезагрузить таблицы grant в память, чтобы он заметил смену пароля.

Тот Самый --skip-grant-options позволяет любому пользователю подключаться без пароля и со всеми привилегиями.Поскольку это небезопасно, вы, возможно, захотите

использование --таблицыпропусков-грантов в сочетании с --пропуститьсозданиесетей чтобы запретить удаленным клиентам подключаться.

От:ссылка: сброс настроек-разрешения-общие

Хотя вы не можете напрямую восстановить пароль MySQL без применения грубой силы, может быть другой способ - если вы использовали MySQL Workbench для подключения к базе данных и сохранили учетные данные в "хранилище", вы молодец.

В Windows учетные данные хранятся в %APPDATA%\MySQL\Workbench\workbench_user_data.dat - зашифрован с помощью Криптозащитные данные (без какой-либо дополнительной энтропии).Расшифровать все очень просто:

std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
    DATA_BLOB inblob { length, input };
    DATA_BLOB outblob;

    if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
            throw std::runtime_error("Couldn't decrypt");
    }

    std::vector<unsigned char> output(length);
    memcpy(&output[0], outblob.pbData, outblob.cbData);

    return output;
}

Или вы можете проверить это Поток DonationCoder для исходного кода + исполняемый файл быстрой и грязной реализации.

Если у вас есть root-доступ к серверу, на котором запущен mysql, вы должны остановить сервер mysql с помощью этой команды

sudo service mysql stop

Теперь запустите mysql с помощью этой команды

sudo /usr/sbin/mysqld --skip-grant-tables  --skip-networking &

Теперь вы можете войти в mysql с помощью

sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

С полными инструкциями можно ознакомиться здесь http://www.techmatterz.com/recover-mysql-root-password/

Делайте это без простоев

Выполните следующую команду в терминале для подключения к СУБД (вам нужен root-доступ):

sudo mysql -u root -p;

запустите обновление пароля целевого пользователя (в моем примере имя пользователя mousavi и это пароль, который должен быть 123456):

UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';  

на этом этапе вам нужно выполнить очистку, чтобы применить изменения:

FLUSH PRIVILEGES;

Сделано!Вы сделали это без какой-либо остановки или перезапуска службы mysql.

Войдите в MySQL из Windows cmd, используя существующего пользователя:

mysql -u имя пользователя -p
Введите пароль:****

Затем выполните следующую команду:

mysql> SELECT * FROM mysql.user;

После этого скопируйте зашифрованный пароль md5 для соответствующего пользователя, и в Интернете доступно несколько онлайн-приложений для расшифровки паролей.Используя это, расшифруйте пароль и используйте его для входа в систему в следующий раз.или обновите пароль пользователя с помощью текущей команды:

mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Затем войдите в систему, используя новый пароль и пользователя.

Хотя строгая, логичная, основанная на компьютерных науках интерпретация вопроса оп заключалась бы в том, чтобы потребовать и то , и другое "Как мне получить мое имя пользователя в MySQL" и "пароль" - я подумал, что кому-то может быть полезно также обратиться к или интерпретация.Другими словами ...

1) Как мне получить мое имя пользователя в MySQL?

или

2) пароль

Это последнее условие, кажется, уже было подробно рассмотрено, так что я не буду утруждать себя этим.Ниже приведено решение только для случая "Как мне восстановить мое имя пользователя MySQL".Привет.

Чтобы найти ваше имя пользователя mysql , выполните следующие команды из командной оболочки mysql ...

ВЫБЕРИТЕ Пользователя ИЗ mysql.user;

он напечатает таблицу всех пользователей mysql.

ЕСЛИ у вас случайно настроен ODBC, вы можете получить пароль из конфигурационного файла ODBC.Это находится в /etc/odbc.ini для Linux и в папке Software/ ODBC в реестре в Windows (их несколько - может потребоваться некоторое время поиска)

Для пользователя window вы можете следовать следующим инструкциям руководство чтобы сбросить свой пароль

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top