От автора: вы к нам? Ну, тогда проходите, занимайте любое свободное место и устраивайтесь удобнее. Так, на чем мы остановились в прошлый раз? На паролях в СУБД. Как далеко мы с вами продвинулись в изучении баз данных! Но это только начало, поэтому не будем зря терять время, и узнаем сегодня, как сбросить пароль MySQL.
Рост уровня знаний
Мы свами существенно продвинулись в изучении СУБД, но до полного освоения данной дисциплины еще слишком далеко. И все потому, что MySQL базируется на основе еще одной технологии – SQL.
Структурированный язык запросов (SQL) является «отцом» всех систем управления БД, и я настоятельно советую посвятить его изучению как можно больше времени. На протяжении нашего цикла материалов мы лишь вскользь каснемся его основных команд и их синтаксиса.
На самом деле возможности SQL намного обширнее, чем обычные выборки, изменение или удаление данных. С его помощью можно программировать, создавать функции, инициализировать переменные, автоматизировать с помощью триггеров и хранимых процедур различные процессы по администрированию БД.
Как настоящий потомок своего предка MySQL также обладает всеми этими талантами. Но все это вы поймете со временем, когда мы еще глубже окунемся в «омут» знаний этой СУБД. А теперь вернемся к нашей сегодняшней теме, и узнаем, как осуществить в MySQL сброс пароля root или другой пользовательской записи.
Возвращаемся в phpMyAdmin
Как ни крути, а без этой программы нам никак не обойтись, поскольку она идеально подходит для демонстрации всех примеров администрирования СУБД. Так что, если вы еще не установили phpMyAdmin, настоятельно рекомендую сделать это как можно быстрее.
До этого мы с вами обращались к системной базе MySQL только через командную строку. Сегодня мы заглянем в нее через интерфейс приложения. Для этого запустите свой Denwer (если используете этот программный пакет) или сервер СУБД. Войдите в него под учетной записью администратора. После этого запустите phpMyAdmin.
В списке слева найдите базу данных под названием «mysql». Перейдите по ссылке. Такой БД вы еще не видели? Это и есть ядро СУБД. Теперь среди множества таблицы выберите user. Чтобы в MySQL сбросить пароль root, следует «обращаться» именно к этой таблице.
Для того чтобы посмотреть, какие учетные записи пользователей существуют на вашем сервере БД, нажмите на вкладку «Структура» (меню сверху). После этого в основной рабочей области программы отобразятся все существующие пользователи, пароли (если установлен) и привилегии каждой учетки.
Теперь нам нужен «доброволец» для лабораторных опытов. Как и в прошлый раз, этим смелым человеком оказался Вован :). У меня он уже создан (нижняя запись в таблице). Если мы хотим сбросить пароль MySQL, то нам без Вована никак не обойтись.
Возвращение Вована!
Нажмите на логотип приложения вверху, чтобы выйти из таблицы. Также можно нажать на иконку домика. Затем в основном меню перейдите в раздел «Пользователи». Если с Вованом еще не знакомы, то вам его нужно создать. Внизу под таблицей «Обзор учетных записей» нажимаем ссылку «Добавить пользователя».
В появившемся окне задайте имя пользователя, хост и пароль. Привилегии учетной записи советую пока не изменять.
Если пользовательская учетка с таким именем уже есть, тогда в таблице рядом жмем на «Редактирование привилегий». В появившемся всплывающем окне переходим к «Изменить пароль». Вводим значение, подтверждаем и сохраняем изменения («Ок»).
После этого обновите страницу браузера, снова перейдите по вкладке «Пользователи». Что бы видим в таблице? У Вована появился пароль. Это один из способов, как сбросить root пароль MySQL быстро.
Теперь опять зайдем в системную базу данных, и посмотрим, что изменилось в таблице user. Точно, у пользовательской записи нашего общего «другана» появился пароль. Только значение пароля какое-то странное, как и сам Вован :). Это потому, что значение пароля было зашифровано по умолчанию.
Воспользуемся SQL
Теперь окунемся в более профессиональные знания, и воспользуемся для изменения пароля командами SQL:
1 |
UPDATE `mysql`.`user` SET Password=PASSWORD('vovka') WHERE User='vovan'; |
Вводим этот запрос в редактор программы (вкладка «SQL») и нажимаем «Ок» внизу. Сверху появляется зеленое системное сообщение о том, что запрос выполнен успешно.
Запрос на сброс пароля MySQL для учетной записи «vovan» будет выглядеть вот так:
1 |
UPDATE `mysql`.`user` SET Password=PASSWORD('') WHERE User='vovan'; |
В скобках после ключевого слова PASSWORD указывается пустое значение для пароля.
1 |
SET PASSWORD FOR vovan@localhost = PASSWORD(''); |
Этот запрос изменяет пароль, обращаясь к таблице user через системную переменную PASSWORD и учетную запись с указанием хоста. Так как у нас сервер БД установлен локально, то после имени пользователя мы пишем localhost. Все изменения можно проследить по системной таблице или сделать из нее выборку с помощью следующего запроса:
1 |
SELECT user, host, PASSWORD FROM `mysql`.`user` ; |
И мы увидим, что Вован опять остался без пароля. Эх, опять ему не повезло 🙂
Таким же образом можно осуществить сброс root MySQL. Сегодня мы еще на один шаг стали «старше» и мудрее в своих знаниях MySQL. И мы постепенно выходим из «детского» возраста, взрослея после каждой публикации. А на Вована не обращайте внимания – он еще тот «профессионал» 🙂