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) витягне. Обирайте той шлях, який доступний прямо зараз, і повертайте контроль над сайтом за дві хвилини.