Меняем префикс базы данных на уже установленном блоге

Если вы когда-нибудь устанавливали WordPress сами, то возможно вам знакомо такое поле (на этой странице вы ещё вводили логин и пароль для подключения к базе данных, ну если конечно не создавали файл wp-config.php вручную).

wp_ префикс по умолчанию

Слева написано, что префикс следует менять лишь в том случае, если вы используете одну базу данных для нескольких WordPress-сайтов.

Никого не слушайте, обязательно напишите там что-то своё, если хотите обезопасить блог от SQL-инъекций!

Если вы так и поступили, то отлично, а что делать тем, кто оставил префикс wp_ по умолчанию?

Ну во-первых есть плагины…
Но мы же крутые веб-разработчики и не используем плагины :D

Короче вот небольшая инструкция по замене префикса в базе, состоящая из 3-х шагов, даже из 2-х, потому что последние можно объединить.

Также хочу заметить, что после того, как вы выполните первый шаг, сайт перестанет работать до тех пор, пока не дойдёте до третьего. Если вы не можете пожертвовать парой минут (например у вас большая посещаемость), то используйте какой-нибудь кэширующий плагин, например WP Super Cache, тогда падений сайта даже не будет заметно.

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

Открываем файл wp-config.php и меняем там строчку $table_prefix = "wp_"; на $table_prefix = "new_"; Вместо new_ можно написать что угодно — это и будет новый префикс.

Шаг 2 и Шаг 3:
Теперь осталось выполнить несколько SQL-запросов, например через phpMyAdmin. Так же, как и в первом шаге, wp_ — старый префикс, а new_ — новый.

RENAME TABLE wp_commentmeta TO new_commentmeta;
RENAME TABLE wp_comments TO new_comments;
RENAME TABLE wp_links TO new_links;
RENAME TABLE wp_options TO new_options;
RENAME TABLE wp_postmeta TO new_postmeta;
RENAME TABLE wp_posts TO new_posts;
RENAME TABLE wp_terms TO new_terms;
RENAME TABLE wp_term_relationships TO new_term_relationships;
RENAME TABLE wp_term_taxonomy TO new_term_taxonomy;
RENAME TABLE wp_usermeta TO new_usermeta;
RENAME TABLE wp_users TO new_users;
UPDATE new_options SET option_name = 'new_user_roles' WHERE option_name = 'wp_user_roles';
UPDATE new_usermeta SET meta_key = 'new_capabilities' WHERE meta_key = 'wp_capabilities';

Ну вот и всё, блог теперь более защищён :)

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Комментарии 3

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...

  • Алексей: так надо комментарии в рубриках, а не на страницах в category.php а не в page.php

  • Миша: Здравствуйте! Сам WordPress это не поддерживает, но можно пойти хитрым путём. Первое, что пришло мне в голову, это:...

  • Алексей: Миша, здравствуйте! Подскажите, пожалуйста, что нужно, чтобы сделать комментарии на страницах рубрик. Я когда то давно...