目前,我有一个严重的问题,在几天的论坛-垃圾邮件发送者已经突破了我的phpbb3论坛,并张贴了太多的主题和帖子,这是太多的ACP大众修剪功能处理(它总是从内存中消失,我不能给它更多)。
所以,我想知道,他们是否可以从数据库中删除这些用户和帖子,这样我就不需要任何php交互了?还是用Perl/Python编写的phpbb用户剪枝函数?
我在网上搜索过,每个网站都说“使用ACP”,但目前对我来说是不可能的。
发布于 2014-01-14 15:55:55
要做到这一点,一种半手工的方法是访问每个垃圾邮件用户的配置文件,选择Administer User
,然后在Overview
(默认)页面的底部选择Delete Posts
。这将删除该特定用户及其所有相关主题。这是推荐的方法。
另一种选择是减少剪枝用户页面上的条件。设置较小的日期窗口,设置更具体的发布标准等。
如果上面的内容不起作用,这个主题还指出了一些非常危险的查询,这些查询可能很有帮助,但它只删除了没有关联用户的主题。如果您运行查询并超时,则可能会出现这种情况。查询的一部分运行。
记住,PHPBB不建议直接运行查询,而不是。我提供的前两个选项是他们推荐的移除大量用户和帖子的方法。这些是针对数据库运行的危险(翻译:先备份)
查询1-删除搜索结果:
delete from phpbb_search_wordmatch where post_id in
(SELECT post_id
FROM `phpbb_posts`
WHERE topic_id
IN (
SELECT topic_id
FROM phpbb_topics
WHERE `topic_poster` NOT
IN (
SELECT user_id
FROM phpbb_users
)
)
)
查询2-删除主题:
DELETE
FROM `phpbb_topics`
WHERE `topic_poster` NOT
IN (
SELECT user_id
FROM phpbb_users
)
查询3-删除员额:
DELETE
FROM `phpbb_posts`
WHERE topic_id
IN (
SELECT topic_id
FROM phpbb_topics
WHERE `topic_poster` NOT
IN (
SELECT user_id
FROM phpbb_users
)
)
https://stackoverflow.com/questions/21115810
复制相似问题