Я потерял свое имя пользователя и пароль 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 в списке и остановите ее. Если ваш сервер не работает как служба, вам может потребоваться использовать диспетчер задач, чтобы заставить его остановиться.
-
Создайте текстовый файл и поместите в него следующие утверждения. Замените пароль на пароль, который вы хотите использовать.
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;
Операторы UPDATE и FLUSH должны записываться в одной строке. Оператор UPDATE сбрасывает пароль для всех существующих корневых учетных записей, а оператор FLUSH сообщает серверу перезагрузить таблицы предоставления в память.
- Сохраните файл. В этом примере файл будет называться C:\mysql-init.txt.
-
Откройте окно консоли, чтобы перейти в командную строку:
Меню "Пуск" → "Выполнить" → cmd
-
Запустите сервер 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.
- После успешного запуска сервера удалите C:\mysql-init.txt.
- Остановите сервер 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
Для пользователя окна, вы можете следовать этому руководству, чтобы сбросить пароль