В моей таблице wp_options было только 235 строк данных. Я попытался проиндексировать таблицу, но это не помогло.
Оказывается, что около 150 временных параметров были вставлены в таблицу, но не были автоматически удалены.
Я не знаю, связано ли это или нет, но я просматривал свои файлы /var/log/apache2/access.log и заметил, что несколько (предположительно скомпрометированных) серверов Amazon Web Services (IP-адреса начинаются с 54. XXX и 32.XXX) пытались использовать /~web-root-dir/xmlrpc.php.
После устранения неполадок я запросил в таблице wp_options имена опций, которые содержат «переходный процесс».
выберите * из wp_options, где option_name вроде '% transient %';
Одним из полей, возвращаемых из этого запроса, является 'option_value', который имеет тип данных LONGTEXT. Согласно документации MySQL, поле LONGTEXT (для каждой строки) может содержать до 4 гигабайт данных.
Когда я выполнил запрос, некоторые из строк (помните, что работали с теми, которые содержат «переходные») имели массивные объемы данных в поле option_value. Просматривая результаты, я также увидел то, что выглядело как попытки ввести команды в процесс wp-cron с надеждой, что они будут выполнены во время цикла (ов) cron.
Моим решением было удалить все «временные» строки. Это не повредит серверу, поскольку «временные» строки будут автоматически заполнены (если они должны быть там).
После этого сервер снова стал отзывчивым.
Запрос на удаление этих строк:
УДАЛИТЬ из wp_options, где option_name похоже на «% transient %»;
Я также добавил суперблоки IP-адреса AWS / 8 в свой брандмауэр (-: