WordPress利用sql数据库代码删除不活跃用户,纯小白操作

wordpress删除不活跃用户,删除最近1年未登录用户删除空闲用户, wordpress 网址突然很卡,发现网址有很多用户,准备删除一些之前很久未登录的僵尸用户

由于wordpress网站之前按照网上教程照搬了 综合版代码 , 支持显示用户昵称、网站、注册时间、注册IP、最近登录时间、登录IP,默认按照注册时间排序:

分析数据库发现 网站的wp_usermeta数据表占用很多空间,

下面开始操作删除不活跃用户,操作前请先将数据库备份,以免操作失误误删无法找回

以下是小白手法,欢迎大神提供更好的方法

1.根据最近登录时间列出用户ID作为分析

将数据库的用户表wp_users 和用户信息表wp_usermeta 里的用户ID ,最后登录时间的标签和最后登录时间筛选出来作为分析

SELECT `ID`,`user_id`,`meta_key`,`meta_value` from `wp_users` inner join `wp_usermeta` on `wp_users`.`ID`=`wp_usermeta`.`user_id` WHERE `wp_usermeta`.`meta_key` LIKE 'last_login'

2.由于网站最后是2017年9月份建立的 距今差不多2年,决定删除最近半年未登录的用户

先做筛选看是否正确

先尝试筛选最后登录时间为2017年的用户,一定要用多条件查询,因为wp_usermeta表里面还有你的注册时间,也是时间格式,不用多条件查询会被误删

SELECT `ID`,`user_id`,`meta_key`,`meta_value` from `wp_users` inner join `wp_usermeta` on `wp_users`.`ID`=`wp_usermeta`.`user_id` WHERE( `wp_usermeta`.`meta_value` LIKE '%2017%') AND(`wp_usermeta`.`meta_key` LIKE 'last_login')

返回数据分析一下没问题

WordPress利用sql数据库代码删除不活跃用户,纯小白操作

3.分析上面筛选数据返回正确的,开始删除不活跃用户

如以下格式删除 最后登录 时间为2017年的用户,2018年的类似 条件更改为 2018- 即可

DELETE FROM `wp_users` WHERE `wp_users`.`ID` = any(SELECT `user_id` from `wp_usermeta` WHERE (`wp_usermeta`.`meta_value` LIKE '%2017%') AND(`wp_usermeta`.`meta_key` LIKE 'last_login'))

以下删除2019年每月的用户,可以一个一个月的删,如以下删除 最后登录 时间 为2019年1月的用户

DELETE FROM `wp_users` WHERE `wp_users`.`ID` = any(SELECT `user_id` from `wp_usermeta` WHERE (`wp_usermeta`.`meta_value` LIKE '%2019-01%') AND(`wp_usermeta`.`meta_key` LIKE 'last_login'))

其他月份类似………..如以下删除 删除 最后登录 时间 为2019年6月的用户

DELETE FROM `wp_users` WHERE `wp_users`.`ID` = any(SELECT `user_id` from `wp_usermeta` WHERE (`wp_usermeta`.`meta_value` LIKE '%2019-01%') AND(`wp_usermeta`.`meta_key` LIKE 'last_login'))

版权声明:本站部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如本站内容侵犯了您的权益请联系我们,邮箱:1511977125@qq.com 我们核实后会及时处理,发布内容不代表痴痴资讯网立场,本文标题:WordPress利用sql数据库代码删除不活跃用户,纯小白操作本文链接:https://www.chichizixun.com/689.html