Как поменять пароль пользователя в WordPress через базу данных MySQL

Может возникнуть такая ситуация, что вы вдруг забыли пароль от своей учетной записи на сайте запущенным под CMS WordPress, или что еще хуже — вас взломали, и поменяли пароль. Почтовый сервер не отправляет письмо с ссылкой на востановление, а если отправляет, то не вам… Но, если у вас есть доступ к серверу MySQL, где находится используемая база данных сайтом с WordPress, то это не будет проблемой.

В данной статье предполагается, что у вас есть доступ через ssh, и вы знаете логин:пароль пользователя MySQL, который имеет доступ к базе данных вашего сайта на WordPress.

Смена пароля через MySQL

И так, приступим:

  1. Сперва нужно запустить консольный клиент MySQL. Делается это простой командой mysql:
    mysql -p -u имя_пользователя

    После выполнения этой команды у вас попросит пароль выбранного пользователя.

  2. Теперь нужно выбрать нужную базу данных. Предположим, она называется wordpress:
    use wordpress;

    При успешном выполнении команды будет выведено сообщение Database changed.
    Если вы НЕ ЗНАЕТЕ, имя базы, то у вас доступны следующие способы прояснить ситуацию:

    • Посмотреть список баз данных на MySQL сервере, выполним следующую команду:
      show databases;
    • Посмотреть имя базы данных в файле конфига WordPress, который называется wp_config.php и лежит в корневой директории сайта на WordPress:
      cat wp-config.php | grep DB_NAME
  3. Осталось разобраться какому пользователю нужно поменять пароль. Для этого достаточно просто знать адрес электронной почты, или логин. Выполняем в MySQL команду:
    • Для смены пароля пользователя с логином Sysadmin:
      UPDATE `wp_users` SET `user_pass` = MD5('12345678') WHERE `wp_users`.`user_login` = Sysadmin;
    • Для смены пароля пользователю с адресом электронной почты sysadmin@sysadmin.ru:
      UPDATE `wp_users` SET `user_pass` = MD5('12345678') WHERE `wp_users`.`user_email` = sysadmin@sysadmin.ru;

    Как только появится примерно следующее сообщение:

    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    То значит пароль пользователя был изменен.

Как заставить браузер Internet Explorer 8 поддерживать HTML5-элементы

К сожалению, Internet Explorer 8 и его более ранние версии не распознают эти новые элементы и не будут реагировать на применяемый к ним код CSS. Действительно,
если использовать HTML5 и просматривать веб-страницы в Internet Explorer 8, эта книга не принесет никакой пользы. Но… это не совсем так. Есть один способ
включения устаревших версий Internet Explorer в список
поддержки, заставляющий их понимать весь CSS-код,
применяемый к HTML5-элементам. Нужно просто поместить перед закрывающим тегом , находящимся в верхней части кода вашего HTML-файла, следующий фрагмент:

<!— [if lt IE 9]> <script src=»//html5shiv. googlecode.com/ svn/trunk/html5.js»></script>
<![endif]—>

Перенос сайта на WordPress на новый домен

UPDATE wp_options SET option_value = replace(option_value, ‘old’, ‘new’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

UPDATE wp_posts SET guid = replace(guid, ‘old’,’new’);

UPDATE wp_posts SET post_content = replace(post_content, ‘old’, ‘new’);

Изменить пароль пользователя MySQL

Небольшая заметка на тему как изменить пароль пользователя MySQL. Мне не часто приходится менять пароли, но решил добавить эту заметку связи с тем, что даже для такой простого действия MySQL есть несколько решений. Для начала из под консоли сервера выполните команду:

mysql -uroot -p

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

SET PASSWORD = PASSWORD('пароль')

Когда необходимо изменить пароль для другого пользователя MySQL, нужно использовать команду:

SET PASSWORD FOR 'mysqluser'@'localhost' = PASSWORD('пароль');
SET PASSWORD FOR 'mysqluser'@'%' = PASSWORD('пароль');

Первая команда отличается от второй тем, что пользователю mysqluser будет разрешена авторизация только с localhost. В плане безопасности это более предпочтительный вариант.

Аналогичное действие можно выполнить с помощью запроса SQL:

UPDATE mysql.user SET Password=PASSWORD('пароль') WHERE User='mysqluser' AND Host='localhost';
FLUSH PRIVILEGES;

В операционных системах на базе Linux посмотреть размер папки (директории) можно с помощью команды du. Эта команда, выполняемая в консоли, позволяет оценить используемый объем места на жестком диске отдельно по папкам и файлам, просуммировать результат, узнать общий размер папки.

Синтаксис

Общий синтаксис команды du следюущий:
du
du имяПапки
du [ключи] имяПапки

Примеры использования

Без передачи каких-либо параметров команда du выводит название и размер каждой папки по текущему пути, при этом включая в вывод все подкаталоги:

du

Пример вывода:

8       ./share/gegl-0.2/plug-ins
12     ./share/gegl-0.2
16     ./share/rhythmbox
56     ./share/icons/hicolor/16x16/apps
60     ./share/icons/hicolor/16x16
208    ./share/icons/hicolor/256x256/apps
212    ./share/icons/hicolor/256x256
64     ./share/icons/hicolor/48x48/apps
68     ./share/icons/hicolor/48x48
56     ./share/icons/hicolor/32x32/apps
60     ./share/icons/hicolor/32x32
404    ./share/icons/hicolor
408    ./share/icons

Для того, чтобы вывести такую же информацию об определенной папке, укажите её при вызове команды, например:

du ~/.local
du /home

Чтобы получить значения размеров папок в более удобном для восприятия формате, а именно в килобайтах (K), мегабайтах (M) или гигабайтах (G) используйте ключ -h:

du -h
du -h /home

Пример вывода:

8.0K    ./.vim
24K    ./scripts
48K    ./.ssh
16K    ./.keychain
2.2M    ./.lftp
2.4M    .

Для того, чтобы узнать общий размер, который занимает определенная папка вызовите команду du с ключем -s:

du -s /home

Пример результатов:

291210112    /home/

Лучше будет запустить команду du с ключами -s и -h совместно:

du -hs /home

Тогда вывод воспринять легче:

278G /home/

Ключ -c используется для подсчета общей суммы размеров папок так:

du -chs /etc /root/

Результат:

56M /etc
62M /root/
118M итого

Другая удобная опция команды du это ключ —max-depth, который задает глубину папок для просмотра. Если задать глубину равной единице, то можно посмотреть общие размеры всех папок по указанному пути. Выполните:

du -h --max-depth=1

Пример результатов работы:

2.9M    ./.nbi
948K    ./.local
104K    ./.gconf
12K    ./.gnome2
4.0K    ./.gnome2_private
44K    ./.filezilla
356K    ./.cache
12K    ./Desktop
4.0K    ./.gvfs
1.2M    ./.gem
12K    ./.dbus
86M    ./.cpan
26M    ./perl5
1.5M    ./.java
80K    ./.config
16K    ./.ssh
4.0K    ./.pulse
165M    .

Ключи команды du

Ключ Действие
-a, —all Вывести размер для всех файлов, а не только папок
—apparent-size Вывести действительные размеры, а не занимаемое на диске место; хотя действительный размер обычно меньше, иногда он может быть больше из-за дыр в файлах, внутренней фрагментации, косвенных блоков и тому подобного
-B, —block-size=РАЗМЕР Выводить результаты в определенных единицах измерения. Например, -BM выводит размеры в единицах, равных 1,048,576 байтам, т.е. в мегабайтах
-b, —bytes Эквивалентно —apparent-size —block-size=1
-c, —total Выводить общий итог
-D, —dereference-args Следовать только по символьным ссылкам, которые перечислены в командной строке
—files0-from=ФАЙЛ Вывести отчёт об использовании диска, чьи имена файлов перечислены в файле ФАЙЛ
-H Эквивалентен ключу —dereference-args (-D)
-h, —human-readable Выводить размеры в удобном для человека виде (например, 1K 234M 2G)
—si Как -h, но используется делитель 1000, а не 1024
-k Синоним —block-size=1K
-l, —count-links Суммировать размеры, если есть несколько жёстких ссылок на один объект
-m Синоним —block-size=1M
-L, —dereference Следовать по символьные ссылки
-P, —no-dereference Не следовать по символьным ссылкам (по умолчанию)
-0, —null Завершать каждую выводимую строку 0-м байтом, а не символом новой строки
-S, —separate-dirs Не включать размер папок
-s, —summarize Выводить размер только для папки, переданной в качестве аргумента
-x, —one-file-system Оставатся в пределах одной файловой системы
-X, —exclude-from=ФАЙЛ Исключать файлы, совпадающие с каким-либо образцом из ФАЙЛА
—exclude=ОБРАЗЕЦ Исключать файлы, соответствующие ОБРАЗЦУ
-d, —max-depth=N Глубина следования по субдиректориям
—time Показывать время последней модификации всех файлов в каталоге или всех его подкаталогов
—help Показать эту справку и выйти
—version Показать информацию о версии программы du

MySQL: Предоставление привилегий **all** для базы данных

CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER ‘myuser’@’%’ IDENTIFIED BY PASSWORD ‘*HASH’;
GRANT ALL PRIVILEGES ON mydb.* TO ‘myuser’@’%’ WITH GRANT OPTION;

Установка и настройка sudo в CentOS

После установки CentOS в системе присутствует только пользователь root, использование которого нежелательно по соображениям безопасности. Для того, чтобы обезопасить сервер нужно создать обычного пользователя, который, при необходимости, смог бы повышать свои полномочия до уровня суперпользователя. Использование команды sudo позволяет сделать это, сохраняя пароль суперпользователя в тайне.

Прежде всего нужно установить пакет sudo, который доступен в базовых репозиториях CentOS.

yum install sudo

После того, как пакет установлен необходимо создать пользователя и создать для него пароль.

useradd oldfag -m -s /bin/bash
passwd oldfag

После того, как пользователь создан, его необходимо добавить в группу wheel, что позволит ему, при необходимости, повысить свои полномочия до уровня суперпользователя. Сделать это можно двумя способами:

  1. отредактировать файл /etc/group, дописав в строку после запятой имя нового пользователя
    nano /etc/group
    wheel:x:10:root,oldfag
    
  2. выполнить команду
    usermod -aG 'wheel' oldfag
    

Команда sudo, в отличие от su, позволяет назначить каждому пользователю или группе список разрешённых команд. Все настройки sudo хранятся в файле /etc/sudoers.

Перед тем, как редактировать /etc/sudoers необходимо разрешить возможность его редактирования.

chmod +w /etc/sudoers
nano /etc/sudoers

Для того, чтобы разрешить группе wheel выполнять любые действия нужно раскомментировать строку

%wheel  ALL=(ALL)       ALL

После сохранения изменений нужно убрать возможность редактирования файла, на всякий случай.

chmod -w /etc/sudoers

Теперь пользователь может выполнять команды от имени администратора, выполнив команду

sudo -i

и введя свой пароль.

После того, как создан новый пользователь, установлен и настроен пакет sudo, необходимо запретить пользователю root подключаться по ssh. Для этого в секции Authentication файла /etc/ssh/sshd_config раскомментировать строку «PermitRootLogin no», после чего перезапустить SSH-сервер командой.

 service sshd restart
Останавливается sshd:                                      [  OK  ]
Запускается sshd:                                          [  OK  ]

Подробную справку о командах и структуре файла /etc/sudoers можно прочитать на OpenNet или выполнив в консоли команду

man <имя команды>.

Как создать базу данных для wordpress через команды MySQL?

mysql -u root -p
CREATE DATABASE wpdata;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'MyStrongPassword';
GRANT ALL PRIVILEGES ON wpdata.* TO wpuser@localhost;
FLUSH PRIVILEGES;