WordPress 資料庫大小猛增
第一次遇到這種詭異的事情,不過也確實需要另外花時間深究 WordPress 到底何德何能可以把 160GB 的硬碟容量撐爆。本文將會介紹兩種檢查 MySQL 資料表容量的做法以及如何使用 plugin 輕鬆解決此問題。
There is the same post wrote in English, WordPress DB went too large.
如果你已經完成下列方法還是沒辦法有效地縮小 MySQL 大小,可以檢查是不是 Binary log 設定出問題了?MySQL #01 binary logs 設定與屬性
檢查各資料表大小
首先,檢查 WordPress 資料庫各資料表的容量,我們可以透過下列語法找出容量最大的資料表,以 WordPress 來說應該會是 wp_options
最肥大。下列 SQL 語法的 WP_DB_NAME
替換成 WordPress 的資料庫名稱喔。
1 2 3 4 5 |
SELECT table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema = 'WP_DB_NAME' |
安裝WP-Optimize
確認罪魁禍首是誰了之後就好處理了,在此推薦一個 plugin 叫做 WP-Optimize,它提供了相當多資料庫優化的項目與功能,其中就有一項資料庫優化的項目叫做 “Remove expired transient options”,而理論上你只要把這一個項目打勾,並按下 “Run Optimization” 按鈕。
建議不要勾 “Remove all transient options” 這個選項,因為這個選項會清除所有 transient options 影響範圍可能會超出原先的想像。
最後,我們來確認一下到底差異有多大?下列語法是使用 root 使用者,藉由列出 MySQL 資料庫實體路徑下的實體檔案容量的方法(ls -h
),當然一般來說還是建議你使用上述的 SQL 語法查看即可。
1 2 3 4 5 6 7 8 9 10 |
$ su - $ ls -lh /var/lib/mysql/WP_DB_NAME total 191M -rw-r-----. 1 mysql mysql 144K Mar 29 23:28 wp_commentmeta.ibd -rw-r-----. 1 mysql mysql 224K Mar 29 23:28 wp_comments.ibd -rw-r-----. 1 mysql mysql 128K Mar 29 23:28 wp_links.ibd -rw-r-----. 1 mysql mysql 608K Mar 31 01:36 wp_options.ibd -rw-r-----. 1 mysql mysql 9.0M Mar 31 01:36 wp_postmeta.ibd -rw-r-----. 1 mysql mysql 7.0M Mar 31 01:36 wp_posts.ibd ... |
Pingback:MySQL #01 binary logs 設定與屬性 - BrilliantCode.net