Ремонт и оптимизация базы данных в WordPress (WP_ALLOW_REPAIR) – инструкция

РЕМОНТ И ОПТИМИЗАЦИЯ БАЗЫ ДАННЫХ В WORDPRESS (WP_ALLOW_REPAIR)

С базами данных могут происходить разные проблемы, и во многих случаях ремонт или оптимизация таблиц базы данных помогает решить эти проблемы.

ПАРА ПРИМЕРОВ

  1. Бывали случаи, когда я пытался получить данные из базы, а нужной информации просто не было, хотя при проверке она там обнаруживалась.
  2. В практике моего коллеги была ситуация: таблица wp_options весила целых 11-17 ГБ, но после выгрузки показывала только 10-100 МБ. После выполнения команды:

    OPTIMIZE TABLE wp_options;

    17 ГБ превратились в 311 КБ. Я сделал это для всех сайтов и в итоге освободил около 100 ГБ места на сервере.

    Вероятно, это был какой-то кэш, который остался после копирования базы данных с одного сайта на другой.

СКРИПТ WORDPRESS ДЛЯ ОПТИМИЗАЦИИ БАЗЫ ДАННЫХ

WordPress имеет встроенный скрипт для ремонта таблиц базы данных. Он наход��тся в файле wp-admin/maint/repair.php. Вы можете обратиться к этому файлу по адресу: http://ваш-сайт.com/wp-admin/maint/repair.php. Этот скрипт автономный, но чтобы обратиться к файлу через URL, в файле wp-config.php нужно установить константу:

define( 'WP_ALLOW_REPAIR', true );

Если константа установлена, вы увидите страницу (диалоговое окно) при переходе по указанному URL.

Страница ремонта базы данных

Разница между двумя способами использования этой функции заключается в том, что при использовании второго варианта будет выполнена оптимизация после ремонта.

Результат будет отображен следующим образом:

Ремонт и оптимизация базы данных

НЕМНОГО О ОПТИМИЗАЦИИ И РЕМОНТЕ

ОПТИМИЗАЦИЯ ТАБЛИЦЫ

Эта операция реорганизует (дефрагментирует) физическое пространство, занимаемое таблицей и индексами, что приводит к уменьшению занимаемого места и ускорению операций ввода-вывода. Конкретные действия различаются для разных движков (MyISAM, ARCHIVE и InnoDB поддерживаются).

КАК АВТОМАТИЗИРОВАТЬ ЭТУ ОПЕРАЦИЮ НА СЕРВЕРЕ?

Для одной таблицы вы можете выполнить SQL-запрос:

OPTIMIZE TABLE имя_таблицы

Для всех таблиц в базе данных используйте утилиту mysqlcheck:

mysqlcheck --user=ПОЛЬЗОВАТЕЛЬ --password=ПАРОЛЬ --optimize имя_базы_данных

Или вы можете воспользоваться командой WP CLI:

wp db optimize

Если операция прошла успешно, вы увидите сообщение:

Успех: База данных оптимизирована.

РЕМОНТ ТАБЛИЦЫ

Эта команда восстанавливает поврежденную таблицу базы данных. Она работает только для некоторых SQL-движков, в частности для MyISAM, ARCHIVE и CSV.

Либо вы можете использовать команду WP CLI:

wp db repair

Если операция прошла успешно, вы увидите сообщение:

Успех: База данных отремонтирована.

УДАЛЕНИЕ КОНСТАНТЫ ПОСЛЕ ИСПОЛЬЗОВАНИЯ

Оптимизация или ремонт базы данных должен осуществляться администраторами, поэтому рекомендуется удалить константу WP_ALLOW_REPAIR из файла wp-config.php после использования этой функции.

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

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *