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

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

Ответ 1

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

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

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

Список всех пользователей;

SELECT * FROM mysql.user;

Reset пароль;

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

Но НЕ ЗАБУДЬТЕ, чтобы

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

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

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

Ответ 2

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

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

  • Войдите в систему как администратор.
  • Остановите сервер MySQL, если он запущен. Для сервера, который работает как служба Windows, перейдите к Менеджер служб:

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

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

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

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

    Операторы UPDATE и FLUSH должны записываться в одной строке. Оператор UPDATE сбрасывает пароль для всех существующих корневых учетных записей, а оператор FLUSH сообщает серверу перезагрузить таблицы предоставления в память.

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

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

  4. Запустите сервер MySQL со специальной опцией -init-file:

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

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

    Сервер запускает содержимое файла с именем -init-file при запуске, изменяя каждый пароль учетной записи root.

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

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

    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
    

    Соответствующий параметр -defaults-file можно найти с помощью диспетчера служб:

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

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

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

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

Ответ 3

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

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

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

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

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

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

использовать -skip-grant-tables в сочетании с -skip-networking для предотвращения подключения удаленных клиентов.

from: ссылка: resetting-permissions-generic

Ответ 4

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

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

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 для источника + исполняемого файла быстрой и грязной реализации.

Ответ 5

Если у вас есть 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/

Ответ 6

Сделать это без простоя

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

sudo mysql -u root -p;

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

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

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

FLUSH PRIVILEGES;

Готово! Вы сделали это без остановки или перезапуска службы MySQL.

Ответ 7

Войдите в MySql из окна cmd с помощью существующего пользователя:

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

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

mysql> SELECT * FROM mysql.user;

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

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

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

Ответ 8

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

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

ИЛИ

2) пароль

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

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

SELECT User FROM mysql.user;

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

Ответ 9

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

Ответ 10

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