首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >截断mediawiki

截断mediawiki
EN

Stack Overflow用户
提问于 2009-10-22 05:12:20
回答 2查看 362关注 0票数 0

我正在使用mediawiki API (例如http://en.wikipedia.org/w/api.php),我希望能够‘截断’mysql表,以便在保留一些表(用户等)的同时重置本地安装。SQL查询是什么?

我会说:优化除${PREFIX}_user之外的所有表,并更新${PREFIX}_user集合user_editcount=0?

还有其他(更安全的)建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-10 21:46:30

正确的答案发布在MediaWiki邮件列表上:请参阅http://lists.wikimedia.org/pipermail/mediawiki-l/2009-October/032322.html

根据该帖子,可能可以截断user_newtalkpagerevisiontextarchivepagelinkstemplatelinksimagelinkscategorylinks、D10、D11、D12、D13、D14、D15、D16、D17、D18、D19、D20、D21、D22、D23、D24、D25、D26、D27、D28、D29、D30page_propschange_tagstag_summaryvalid_tagl10n_cache

在更新的版本中,将msg_resourcemsg_resource_list添加到该列表的truncate message related caches中。

另外:如果截断image表,请记住删除image文件夹中的文件。否则它们将不同步,并且您可能无法上载一些图像。

票数 2
EN

Stack Overflow用户

发布于 2009-11-17 02:54:53

从数据库中获取表列表:

代码语言:javascript
复制
echo "show tables;" | mysql -u user_name -p db_name > tables

确定要截断的表,然后创建sql脚本

代码语言:javascript
复制
TRUNCATE TABLE a;
TRUNCATE TABLE b;
update <prefix>user set user_editcount=0;

然后通过客户端运行它:

代码语言:javascript
复制
mysql -u user_name -p database_name < truncate-all.sql
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1603681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档