Diman89
@Diman89

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

Есть приложение, работающее с БД MySQL, запущенная на mysql server 5.33 (root-пароль от mysql-сервера есть). При запуске этого приложения спрашивается логин и пароль. Описания структуры БД разработчик не дает. Нужно сменить пароль от аккаунта БД, например, "Вася" - подскажите, какой запрос и через какое средство администрирования (mysql-administrator/navicat/etc) нужно составить, чтобы найти этот логин (покопавшись через mysql-administrator таблицы "login" я обнаружил, т.е. "Вася" это на 99% есть login) и сменить ему пароль?
  • Вопрос задан
  • 22722 просмотра
Решения вопроса 1
в консоли:
mysql -u root -p
вводим пароль от рута, далее
SELECT user, host, password FROM mysql.user WHERE user='Вася';

если есть чего, то пользователь "Вася" есть в БД, меняем ему пароль:
UPDATE mysql.user SET password=PASSWORD('Noviy Passw0Rd, ik') WHERE user='Вася' AND host='locahost';

в данном запросе, указан дополнительно host, на случай, если нужно напакостить конкретному Васе
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
rapkin
@rapkin
i ♥ gulp coffee
найти пользователя можно воспользовавшись поиском в таблице `user` в базе `mysql`, но изменить пароль не удастся, потому что в таблице он хранится в зашифрованном виде.
А чтобы изменить пароль пользователя базы данных нужно ввести в консоль команду:
mysqladmin -u ПОЛЬЗОВАТЕЛЬ -p'ТЕКУЩИЙ_ПАРОЛЬ' password 'НОВЫЙ_ПАРОЛЬ'

Для рута можно выполнить эти запросы к БД (как заметно предыдущий пароль пользователя не требуется)
mysql> use mysql;
mysql> update user set password=PASSWORD("НОВЫЙ_ПАРОЛЬ") where user='ПОЛЬЗОВАТЕЛЬ' and host='localhost';
mysql> flush privileges;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы