WordPressのwp_optionsテーブルの容量が大きくなったので掃除

テーブルの容量確認

SELECT  
    table_name, engine, table_rows AS tbl_rows,
    avg_row_length AS rlen,  
    floor((data_length+index_length)/1024/1024) AS allmb,  #総容量
    floor((data_length)/1024/1024) AS dmb,  #データ容量
    floor((index_length)/1024/1024) AS imb   #インデックス容量
FROM 
    information_schema.tables  
WHERE
    table_schema = 'bitnami_wordpress'
ORDER BY
    (data_length+index_length) DESC;  

DBのファイルも確認

sudo ls -la /opt/bitnami/mysql/data/bitnami_wordpress/

wp_optionsの掃除

wp_options の大きいレコードを確認

SELECT *, length(option_value) FROM `wp_options` ORDER BY  length(option_value) DESC

wp_options の_transient を削除

DELETE FROM wp_options WHERE option_name LIKE '_transient_feed%' OR option_name LIKE '_site_transient_timeout_browser_%' OR option_name LIKE '_transient_feed_%' OR option_name LIKE '_transient_timeout_feed_%'

wp_optionsの掃除しただけではダメだった。なにかゴミがあったのでテーブル作り直し

wp_options_bkのバックアップテーブル作成

CREATE TABLE wp_options_bk AS SELECT * FROM wp_options;

wp_options を DROP する

DROP TABLE IF EXISTS wp_options

wp_options_bk から wp_options を作成

CREATE TABLE wp_options AS SELECT * FROM wp_options_bk;

wp_options_bk を削除

DROP TABLE IF EXISTS wp_options_bk