Недавно обратился пользователь с просьбой помочь: сайт не пускал в админку, пароль на почту не восстанавливался, а новости нужно было срочно добавить.. Проблему решили, добавив нового админа через интерфейс БД. Ниже — пошаговая инструкция как это проделать — добавить пользователя admin в базу данных WordPress через MySQL
Примечание: ВСЕГДА делайте бекап БД перед её редактированием напряму. Мануал предполагает базовые знания того, как работать с phpMyAdmin.
Прежде всего, необходимо залогиниться в phpMyAdmin и выбрать свою БД.
Действия будут производиться над таблицами wp_users и wp_usermeta. Выбираем таблицу wp_users
Необходимо добавить информацию о нашем новом админе, поэтому кликаем на вкладку Insert как на изображении ниже. В форме вставки добавляем следующее:
- ID — выбираем номер (в моем случае — 4, зависит от количества уже существующих пользователей. Чтобы не ошибиться, можно указать 100).
- user_login — указываем логин для входа в админ панель.
- user_pass — добавляем пароль для логина. Убедитесь, что выбран MD5.
- user_nicename — указываем имя пользователя (не логин, хотя может и совпадать).
- user_email — добавляем email новому аккаунту.
- user_url — указываем сайт…
- user_registered — выбираем дату регистрации этого пользователя.
- user_status — устанавливаем значение в 0.
- display_name — указываем отображаемое имя пользователя.
- Нажимаем на кнопку Go
Теперь добавить значения в таблицу wp_usermeta. Клик по таблице wp_usermeta, затем на вкладку Insert как и в предыдущем шаге. Добавляем следующую информацию в форму:
- unmeta_id — оставляем пустым (сгенерируется автоматически)
- user_id — здесь — id пользователя, указанного в предыдущем шаге (у меня 4, если помните)
- meta_key — выставляем wp_capabilities
- meta_value — вставляем это: a:1:{s:13:»administrator»;b:1;}
Добавляем еще одну строку с:
- unmeta_id — оставляем пустым (сгенерируется автоматически)
- user_id — здесь — id пользователя, указанного в предыдущем шаге (у меня 4)
- meta_key — устанавливаем значение wp_user_level
- meta_value — 10
Далее, клик на кнопку Go, и мы создали нового пользователям. Теперь пробуем залогиниться в wp-admin с новыми данными пользователя, указанными нами выше. После логина, проверьте, на всякий случай введенные данные в админке сайта и обновите данные.
SQL-запрос
Для продвинутых пользователей есть быстрый способ проделать всё это, с помощью запроса к БД
INSERT INTO 'databasename'.'wp_users' ('ID', 'user_login', 'user_pass', 'user_nicename', 'user_email', 'user_url', 'user_registered', 'user_activation_key', 'user_status', 'display_name') VALUES ('4', 'admin', MD5('admin'), 'Adminn', 'admin@example.com', 'http://example.com', '2012-09-28 00:00:00', '', '0', 'Igor'); INSERT INTO 'databasename'.'wp_usermeta' ('umeta_id', 'user_id', 'meta_key', 'meta_value') VALUES (NULL, '4', 'wp_capabilities', 'a:1:{s:13:"administrator";;b:1;}'); INSERT INTO 'databasename'.'wp_usermeta' ('umeta_id', 'user_id', 'meta_key', 'meta_value') VALUES (NULL, '4', 'wp_user_level', '10');
Не забудьте выбрать то имя БД, с которым вы работаете на этом сайте, обратите внимание на префикс БД.