Skip to content

Всё для WordPress, веб-разработки — и не только

🔑 Как изменить пароль WordPress через phpMyAdmin: пошаговое руководство

🔑 Как изменить пароль WordPress через phpMyAdmin: пошаговое руководство

Доступ к админке WordPress потерян. Почта не работает, письмо для сброса пароля не приходит. Панель управления сайтом висит за глухой стеной, а каждая минута простоя бьёт по посетителям и репутации.

Знакомая ситуация? Вы не одиноки. Почтовые сбои на хостинге, утеря доступа к email-ящику владельца, взлом учётной записи, причин масса, а результат один: стандартный сценарий «Забыли пароль» бесполезен.

К счастью, обходной путь существует. Достаточно зайти в базу данных сайта через phpMyAdmin и заменить хеш пароля вручную. Это надёжнее, чем ждать письмо, и занимает ровно две минуты. Разбираем все работающие способы, от кнопочного до консольного.

💡 Быстрый обзор:

  • Входим в phpMyAdmin через cPanel или панель хостинга
  • Находим таблицу wp_users и редактируем поле user_pass с функцией MD5
  • Для скорости применяем SQL-запрос в одну строку
  • При доступе по SSH сбрасываем пароль через WP-CLI одной командой

Когда стандартный сброс пароля бессилен

Стандартная механика WordPress проста: на странице входа нажимаете «Забыли пароль?», вводите имя пользователя или email, получаете ссылку для сброса. Работает безотказно, пока исправна почта.

Проблемы начинаются, когда:

  • У вас нет доступа к email-ящику, привязанному к учётной записи (почта администратора сменилась, ящик заброшен);
  • Хостинг не отправляет системные письма, функция mail() отключена, SMTP не настроен, письмо уходит в спам или теряется;
  • Сайт взломан, и злоумышленник сменил и email, и пароль администратора.

Во всех этих случаях единственный гарантированный путь, прямой доступ к базе данных MySQL. phpMyAdmin есть практически на каждом хостинге: он входит в стандартную поставку cPanel, DirectAdmin, Plesk и ISPmanager. Никаких дополнительных инструментов устанавливать не нужно.

Способ 1: ручное редактирование через интерфейс phpMyAdmin

Самый наглядный метод. Подходит, если вы работаете с базой впервые и хотите видеть, что именно меняете.

Шаг 1. Зайдите в phpMyAdmin. Откройте панель управления хостингом (cPanel или аналог), найдите раздел «Базы данных» и кликните по иконке phpMyAdmin.

Шаг 2. Выберите базу данных сайта. В левой колонке, список баз. Выберите ту, которая принадлежит вашему сайту (если не помните название, посмотрите в wp-config.php в корне сайта, параметр DB_NAME).

Шаг 3. Откройте таблицу wp_users. В списке таблиц найдите строку wp_users (префикс может отличаться, wp_ стоит по умолчанию, но бывает wpxy_, site_ и любой другой, заданный при установке). Нажмите «Обзор» (Browse).

Шаг 4. Нажмите «Изменить» напротив нужного пользователя. Откроется форма со всеми полями учётной записи.

Шаг 5. Замените пароль. В поле user_pass удалите старый хеш и впишите новый пароль. В выпадающем списке «Функция» (Function) выберите MD5. Нажмите «Вперёд» (Go) внизу формы.

Редактирование поля user_pass с выбором функции MD5 в phpMyAdmin

Готово. Пароль сохранён в базе как MD5-хеш. При первом же входе WordPress распознает устаревший формат, автоматически перехеширует пароль современным алгоритмом (PasswordHash с солью и 256 итерациями) и запишет в базу уже усиленный вариант. Никаких дополнительных действий не требуется, механизм обратной совместимости работает с версии 2.5.

Способ 2: быстрый сброс SQL-запросом

Тот же результат, но в одно действие. Удобно, когда нужно сменить пароль без навигации по строкам и формам.

Зайдите в phpMyAdmin, выберите базу данных сайта и перейдите на вкладку SQL. Вставьте запрос:

1UPDATE `wp_users` SET `user_pass` = MD5('ваш-новый-пароль') WHERE `user_login` = 'ваше-имя-пользователя';

Замените ваш-новый-пароль на реальный пароль, а ваше-имя-пользователя, на логин (поле user_login в таблице). Если префикс таблиц отличается от wp_, поправьте его в запросе. Нажмите «Вперёд».

Запрос отработает мгновенно. Механика та же: MD5 в базе, автоапгрейд хеша при первом входе.

Способ 3: WP-CLI, для тех, кто дружит с терминалом

Если на сервере установлен WP-CLI (а на нормальном VPS или выделенном сервере он почти наверняка есть), пароль меняется одной командой без захода в phpMyAdmin:

1wp user update ваш-логин --user_pass=новый-пароль

WP-CLI сам вызовет wp_set_password(), пароль сразу запишется правильным, современным хешем, без прослойки MD5. Команда не требует указывать префикс таблиц, не зависит от версии PHP и не трогает остальные поля пользователя.

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

1wp user list --role=administrator

А затем передайте нужный логин в команду wp user update.

Способ 4: экстренный сброс через functions.php темы

Самый «пожарный» вариант, когда доступа к хостинг-панели нет, но вы можете редактировать файлы сайта по FTP или через файловый менеджер.

Добавьте в functions.php активной темы следующий код **перед закрывающим тегом **?> (или в конец файла, если тега нет):

1wp_set_password('новый-пароль', 1);

Цифра 1, это ID пользователя (обычно 1, администратор, созданный при установке). Если администратор имеет другой ID, замените число.

Сохраните файл и ОДИН раз откройте любую страницу сайта. Пароль будет установлен. Сразу после этого **удалите строку из **functions.php, если оставить, пароль будет сбрасываться при каждой загрузке страницы.

Способ грубый, но выручает, когда остальные недоступны.

В этом 4-минутном видео показан полный путь: от входа в cPanel до сохранения нового пароля в таблице wp_users. Наглядно видно расположение кнопок и выпадающих списков, если интерфейс вашего хостинга отличается, общая логика остаётся той же.

⁉️🤔 Частые вопросы

Почему именно MD5, если этот алгоритм считается небезопасным?

MD5 в phpMyAdmin, единственная доступная хеш-функция, которую понимает WordPress при прямом внесении в базу. Но храниться MD5-хеш будет только до первого входа: ядро CMS проверяет пароль, видит устаревший формат и прозрачно заменяет его на PasswordHash, современный алгоритм с солью и 256 итерациями. Итоговый хеш в базе, стойкий. MD5 здесь, транспортный мостик, а не постоянное хранение.

Что делать, если префикс таблиц не wp_, а я его не знаю?

Откройте wp-config.php в корне сайта и найдите строку $table_prefix. Значение этой переменной и есть префикс. Если доступа к файлам нет, в phpMyAdmin прокрутите список таблиц: users всегда заканчивается на _users, а префикс виден по соседним таблицам (_posts, _options и так далее).

Можно ли обойтись без phpMyAdmin, если я не хочу заходить в базу данных?

Да, используйте WP-CLI (способ 3) или сброс через functions.php (способ 4). WP-CLI требует SSH-доступа к серверу, а functions.php, FTP или файлового менеджера хостинга. Если нет ни того, ни другого, phpMyAdmin остаётся единственным вариантом, но он справляется безотказно.

Сработает ли метод, если сайт работает на PHP 8+ и свежей версии WordPress?

Да. Все описанные способы работают на актуальных версиях WordPress и PHP. Механизм обратной совместимости MD5-хешей не удалялся из ядра с версии 2.5, слишком много сайтов обновляются через этот маршрут. MySQL-функция MD5() также никуда не делась.

Я сменил пароль, но войти всё равно не получается. В чём дело?

Проверьте три вещи. Первое: в поле user_login не могло оказаться лишних пробелов или опечаток, логин чувствителен к раскладке. Второе: сайт мог кешировать старую сессию, откройте страницу входа в режиме инкогнито. Третье: если установлен плагин безопасности (Wordfence, Solid Security), он может блокировать вход по IP после нескольких неудачных попыток, подождите 15 минут или сбросьте блокировку через ту же базу данных в таблице плагина.

Потеря пароля, не катастрофа, если знать обходной путь

phpMyAdmin выглядит пугающе для тех, кто ни разу не заглядывал в базу данных. Но смена пароля WordPress через него, операция из трёх кликов и одного выпадающего списка. Освоив её один раз, вы больше никогда не останетесь запертыми перед экраном входа.

Если сайт на обычном хостинге, ваш инструмент это phpMyAdmin (способ 1 или 2). Если VPS или выделенный сервер с консольным доступом, WP-CLI (способ 3) справится быстрее. И даже когда панель хостинга недоступна, а на руках только FTP, functions.php (способ 4) вытянет. Выбирайте тот путь, который доступен прямо сейчас, и возвращайте контроль над сайтом за две минуты.