我的客户端的WordPress4.9.10和WP wp_options
表大小在PHP5.6和mySQL版本5.0.11下变得越来越大。
行数为192
,但表大小却像1.2GB
一样无限增加。
我使用以下sql计算了表的大小。
SELECT
table_schema as `Database`,
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
ORDER BY (data_length + index_length) DESC;
似乎表的大小每天都在增加约50MB。 但是没有添加新行。
我在下面运行了SQL,删除了不必要的_transient_%
记录,但根本没有运气。
DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
我还禁用并删除了不必要的插件和主题。 WP当前具有以下插件:
任何人都知道发生了什么以及如何解决此问题?
最好
答案 0 :(得分:1)
(用正确的用户名和主机名替换下面的username@example.com
;如果您使用密码连接SSH,请删除-i server.pem
)
在本地运行此命令以绑定到远程端口:
ssh -i server.pem -L 3304:127.0.0.1:3306 username@example.com
使用以下详细信息进行连接:
hostname: localhost
port: 3304
user: root
password: <database-password-here>
wp_options
表大小在MySQL Workbench中运行此查询,并查看第一行的大小:
SELECT
table_schema AS `Database`,
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
ORDER BY (data_length + index_length) DESC;
(用下面的数据库名称替换下面命令中的<database-name>
;默认为wordpress
)
运行此查询以删除临时记录:
DELETE FROM <database-name>.wp_options
WHERE option_name LIKE '%transient%';
wp_options
表在终端中,按此顺序运行两次,两次(它将要求每个命令输入密码):
mysqlcheck -p -c <database_name> wp_options
mysqlcheck -p -o <database_name> wp_options
mysqlcheck -p -a <database_name> wp_options
wp_options
表大小返回MySQL Workbench并仔细检查表大小:
SELECT
table_schema AS `Database`,
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
ORDER BY (data_length + index_length) DESC;
运行此查询以清除二进制日志:
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 1 DAY);