Сведения о вопросе

krutoi

16:03, 1st July, 2020

Теги

mysql    

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

Просмотров: 496   Ответов: 10

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



  Сведения об ответе

прога

18:03, 1st July, 2020

Остановите процесс 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)

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


  Сведения об ответе

VCe znayu

18:03, 1st July, 2020

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

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

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

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

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

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

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

    Операторы UPDATE и FLUSH должны быть написаны в одной строке. Оператор UPDATE сбрасывает пароль для всех существующих учетных записей root, а оператор 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 Services. Если вы запускаете сервер вручную, используйте любую команду, которую обычно используете.

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


  Сведения об ответе

LIZA

18:03, 1st July, 2020

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


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


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

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

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

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

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

откуда: ссылка: resetting-permissions-generic




  Сведения об ответе

piter

18:03, 1st July, 2020

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

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

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


  Сведения об ответе

VERSUION

18:03, 1st July, 2020

Если у вас есть корневой доступ к серверу, на котором работает 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/


  Сведения об ответе

SILA

18:03, 1st July, 2020

Сделайте это без времени простоя

Выполните следующую команду в Terminal для подключения к DBMS (вам нужен корневой доступ):

sudo mysql -u root -p;

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

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

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

FLUSH PRIVILEGES;

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


  Сведения об ответе

ASER

18:03, 1st July, 2020

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

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

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

mysql> SELECT * FROM mysql.user;

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

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

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


  Сведения об ответе

davran

18:03, 1st July, 2020

Хотя строгая, логичная, компьютерная научная интерпретация вопроса ОП будет требовать как "How do I retrieve my MySQL username", так и "password" - я подумал, что кому-то будет полезно также обратиться к OR -й интерпретации. Другими словами ...

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

OR

2) пароль

Это последнее условие, по-видимому, уже было достаточно подробно рассмотрено, поэтому я не буду беспокоиться об этом. Ниже приведено решение только для случая "How do i retreive my MySQL username". HIH.

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

Выберите пользователя FROM mysql.user;

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


  Сведения об ответе

ASSembler

18:03, 1st July, 2020

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


  Сведения об ответе

JUST___

18:03, 1st July, 2020

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


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

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться