wp_actionscheduler_logs数据表很大,如何清除?
解决WordPress MySQL 数据库中产生的巨型表 wp_actionscheduler_actions 和 wp_actionscheduler_logs
wp_actionscheduler_actions 这个表是用来记录计划任务的表
wp_actionscheduler_logs 这个表是用来记录任务日志的表
这两个数据表是由 WooCommerce 自动创建的。之所以这两个表会这么大可能是某个插件的定时任务被卡住了,结果就不停的往数据表增加任务,最后就产生了这两个巨型表。由于这两个表实际用处不大,也就是说暴力一点可以直接手动清空这两个数据表,并且不会有什么问题。当然如果求稳也可以根据下面的方法来解决这个问题。
#登录数据库,注意自行替换下面命令中的yourdatabase,这个是数据库名。mysql -u root -p yourdatabase#输入数据库root密码,然后回车进入数据库。#清空wp_actionscheduler_logs数据表,注意自行替换wp_表前缀。TRUNCATE `wp_actionscheduler_logs`;#然后分别执行下面三行命令,注意自行替换wp_表前缀。DELETE FROM `wp_actionscheduler_actions` WHERE `status` = complete;DELETE FROM `wp_actionscheduler_actions` WHERE `status` = canceled;DELETE FROM `wp_actionscheduler_actions` WHERE `status` = failed;
根据你的数据表体积会有不同的清理速度,我清理大几十GB的数据表用了几个小时。所以,执行命令后发现没有马上完成可以不用着急,去喝杯茶喝完再回来看看。
根据上面的方法清理了这两个巨型数据表以后还只是治标没能治本,所以下面成都南奇会继续给出治标治本的解决方案。
方法一// 每日自动清理数据表 Scheduled Actionsadd_filter( action_scheduler_retention_period, cw_action_scheduler_purge_daily );function cw_action_scheduler_purge() {return DAY_IN_SECONDS;}
// 每周自动清理数据表 Scheduled Actionsadd_filter( action_scheduler_retention_period, cw_action_scheduler_purge_weekly );function cw_action_scheduler_purge() {return WEEK_IN_SECONDS;}
上面这两段 PHP 代码二选一添加到主题的 funcations.php 文件中即可。因为两段代码功能相同,区别是执行时间周期,一个是每日自动清理,另一个是每周自动清理,具体可以根据你数据表的增量速度自行决定。
#!/bin/bashuser=password=database=host=echo TRUNCATE `wp_actionscheduler_logs`; | mysql user=$user password=$password database=$database host=$hostecho DELETE FROM `wp_actionscheduler_actions` WHERE `status` = complete; | mysql user=$user password=$password database=$database host=$hostecho DELETE FROM `wp_actionscheduler_actions` WHERE `status` = canceled; | mysql user=$user password=$password database=$database host=$hostecho DELETE FROM `wp_actionscheduler_actions` WHERE `status` = failed; | mysql user=$user password=$password database=$database host=$host
wp_actionscheduler_logs数据表很大,如何清除? https://cdnanqi.cn/wangluoyingxiao/16995.html
400电话办理