Главная › Форумы › SOFTWARE › Tuning Systems › Изменяем префикс БД worpress в MySQL (MariaDB)
- В этой теме 0 ответов, 1 участник, последнее обновление 1 год, 4 месяца назад сделано E-tec.
-
АвторСообщения
-
13.07.2023 в 18:14 #2429
Первым делом нужно понимать для чего это все нужно. В большей мере для безопасности данных в Базе Данных от SQL-инъекций. Дело в том, что стандартные имена таблиц базы данных wordpress, знают все. Например все знают, что опции сайта хранятся в таблице wp_options. А изменённый префикс как раз таки позволит добавить уникальности в имена таблиц и спрятать их от возможных злоумышленников.
Понятное дело префикс можно задать при первоначальной установке CMS, но врятли кто-то задумывается об этом, при создании сайта. По этому данный мануал подойдет для тех, кто уже установил CMS, а в последствии использования или установке realy simple ssl, увидел, что перфикс все же нужно было менять)
Итак замена префикса осуществляется в два шага, 1 шаг переименование префикса во всех таблицах БД, шаг 2 изменение подключения wordpress к этой самой базе и изменение префикса в конфигурационном файле.
Перед тем как приступать, нужно понимать, что сайт работает и мы не хотим его «ложить» на длительное время, т.к. переименование таблиц займет продолжительное время (сколько? зависит от того, сколько плагинов установлено на сайте). По этому первым делом идем в phpmyadmin и экспортируем текущую БД на свой ПК.
После этого идем в панель управления сайтами, либо напрямую в SQL, у кого на чем работает сайт. Я использую hestiacp по этому иду в панель управления, и создаю новую БД!
Создание БД довольно простое, придумываем имя БД, имя пользователя и пароль, после чего записываем их или сохраняем в укромное место =)
Снова идем в phpmyadmin, но подключаемся уже к НОВОЙ БД. Видим абсолютно чистую БД без единой таблицы, импортируем данные, которые экспортировали в самом начале.
Примечание! В момент экспорта сайт может выдать ошибку 502, НЕ перезагружаем страницу в этот момент и НЕ закрываем вкладку, операция экспорта будет выполнять, чтоб убедиться в этом можно подключиться к новой БД через phpmyadmin с другого браузера, и смотреть как наполняется БД таблицами!
После того как увидели, что в новой БД все таблицы восстановлены (это можно понять по кол-ву таблицы и объему БД, сравнивайте старую и новую), предстоит кропотливая работа по переименованию.
Переходив в вкладу SQL «запросника».В поле вводим следующие строки, чтоб переименовать префиксы таблиц:
RENAME TABLE wp_ahm_assets TO my_pref_ahm_assets; RENAME TABLE wp_ahm_asset_links TO my_pref_ahm_asset_links; RENAME TABLE wp_ahm_download_stats TO my_pref_ahm_download_stats; RENAME TABLE wp_ahm_emails TO my_pref_ahm_emails; RENAME TABLE wp_ahm_sessions TO my_pref_ahm_sessions; RENAME TABLE wp_ahm_social_conns TO my_pref_ahm_social_conns; RENAME TABLE wp_bws_list_countries TO my_pref_bws_list_countries; RENAME TABLE wp_bws_list_ip TO my_pref_bws_list_ip; RENAME TABLE wp_cbxuseronline TO my_pref_cbxuseronline; RENAME TABLE wp_ahm_user_download_counts TO my_pref_ahm_user_download_counts; RENAME TABLE wp_commentmeta TO my_pref_commentmeta; RENAME TABLE wp_comments TO my_pref_comments; RENAME TABLE wp_gglcptch_allowlist TO my_pref_gglcptch_allowlist; RENAME TABLE wp_links TO my_pref_links; RENAME TABLE wp_litespeed_url TO my_pref_litespeed_url;
Т.е. нужно переименовать ВСЕ таблицы имеющие в названии wp_ на любое свое, в моем примере my_pref_. Тут стоит отметить, что НЕ стоит смотреть имена таблиц в левом столбце phpmyadmin, т.к. в нем отображается НЕ ВЕСЬ список таблиц! Чтоб увидеть полный список перейдите во вкладку СТРУКТУРА. У меня было 72 таблицы, соответственно 72 строки с ренеймом.
После, того как вписали все таблицы, что у вас есть жмем кнопку выполнить, и если все отлично увидите в ответ уведомление.
Не закрываем phpmyadmin, а снова идем в SQL «запросник», на этот раз выполняем еще два зависимых скрипта:
UPDATE my_pref_options SET option_name = 'my_pref_user_roles' WHERE option_name = 'wp_user_roles'; UPDATE my_pref_usermeta SET meta_key = 'my_pref_capabilities' WHERE meta_key = 'wp_capabilities';
Эти скрипты изменяют зависимость таблиц, уже в переименованных только, что нами таблицах, от тех которые уже не существуют ввиду их переименования. По удачному выполнению скриптов увидите примерно такое же уведомление, что и при переименовании.
Если все прошло без ошибок, то можно быть уверенным в готовности к тому, чтоб «подменить» текущую БД, на ту, что мы только что подготовили! Чтоб подключить новую БД к нашему сайту, идем в папку с установленной CMS. Сделать это можно разными способами, через FTP, или SSH. Я подключился через SHH, ищем файлы wp_config.php
Открываем его любым редактором, я использую nano. В нем ищем секции подключения к БД и префикс, и меняем их:
// ** Параметры MySQL: Эту информацию можно получить у вашего хостинг-провайдера ** // /** Имя базы данных для WordPress */ define('DB_NAME', 'admin_MYNEWBD'); /** Имя пользователя MySQL */ define('DB_USER', 'admin_MYNEWUSER'); /** Пароль к базе данных MySQL */ define('DB_PASSWORD', 'MYNEWPASS'); /** Имя сервера MySQL */ define('DB_HOST', 'localhost'); /** Кодировка базы данных для создания таблиц. */ define('DB_CHARSET', 'utf8mb4'); /** Схема сопоставления. Не меняйте, если не уверены. */ define('DB_COLLATE', ''); /**#@+ ... * Префикс таблиц в базе данных WordPress. * * Можно установить несколько сайтов в одну базу данных, если использовать * разные префиксы. Пожалуйста, указывайте только цифры, буквы и знак подчеркивания. */ $table_prefix = 'my_pref_';
Сохраняем файл, идем проверять работу сайта, а так же на сколько доволен simple ssl)))
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.