新闻中心

无忧主机分享WordPress数据库维护时常用到SQL语句

作者 / 无忧主机 时间 2013-02-01 11:19:37

众所周知wordpress最强大的地方就是它的插件库,wordpress的插件强大到几乎可以帮您完成任何您想完成的事情。但是有些时候,比如您想快速修复一些特定的问题。直接操作数据库反而更加的方便快捷,为方便大家维护自己的博客,无忧主机(www.51php.com)小编特意为大家总结了几个关于wordpress数据库维护时常用到几个SQL语句。 1、sql语句修改wordpress管理员密码

许多人都会遇到网站的密码忘记了进不去的问题,有些时候可以通过管理员在后台帮您修改密码,如果您worepress网站开启了邮件找回也可以通过邮件,但是如果您这两种方法都解决不了,修改数据库就是一个简单的找回密码的方式。数据看修改方式如下

UPDATE 'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;

上面采用了 MySQL 的 MD5() 函数讲密码转成 MD5 Hash。

详见文章:无忧主机总结解决WordPress管理员密码忘记的方法 2、删除数据库中日志修订的记录和相关的post_meta数据 当您的博客用户多的时候,日子修订功能就显得尤为重要了,无忧主机(www.51php.com)小编就用了这个功能,但是日子修订功能会在您的数据库中添加许多的数据,您php虚拟主机的网站越多,日子修订的记录就会越多,甚至可能会超过几千条的记录存在,这些数据验证冗余。删除修订数据的代码如下
DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);
3、批量删除垃圾留言 如果您因为特殊的原因一段时间没有管理您的网站,您会发现您的网站可能会出现许多垃圾留言。而要一条一条删除这些为审核的留言很费时间,特别的当留言达到一定数目的时候,比如有刷帖机器人等在非法刷留言。那么这个时候您只需要把未审核通过的留言一次性删除就可以了,执行下面这条SQL语句:
DELETE from wp_comments WHERE comment_approved = '0';
4、删除没有用的标签 有些时候在没有注意的情况下创建了一下没有用的标签,但是您没有使用过,可以通过下面这条语句删除它们
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;
5、对于熟悉 MySQL 数据库的开发者来说,replace() 这个 MySQL 函数都应该很熟悉,它可以让你指定一个字段,然后替换它里面的字符串,一旦执行,所有这个字段里面的字符串都会被替换。对于 WordPress 博客来说,这个 SQL 则非常实用,它可以让你批量修改某些输入错误,或者某个邮件地址等等。
UPDATE table_name SET field_name = replace( field_name, 'string_to_find', 'string_to_replace' ) ;
替换日志内容中字符串:
UPDATE wp_posts SET post_content = replace( post_content, 'string_to_find', 'string_to_replace' ) ;
将某个留言者地址替换下:
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://oldurl.com', 'http://newurl.com' );
留言者邮箱:
UPDATE wp_comments SET comment_author_email = REPLACE( comment_author_email, 'old-email@address.com', 'new-email@address.com' );
还有一个 WordPress 插件search&replace还提供一个后台让你更加容易进行批量替换。 6、一次性停止所有的插件 网站出现问题了,需要一次把插件全部都先停了之后检测下:
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';
7、关闭日志留言功能 对于一些技术博客或者其他博客来说,一些旧日志的内容可能已经过时了,但是一些读者,还是对一些问题“纠缠不清”或者“喋喋不休”,怎么办,把留言关了就好了: 关闭留言:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish';
关闭Trackback:
UPDATE wp_posts SET ping_status="closed" WHERE post_date < '2009-01-01' AND post_status = 'publish';
无忧主机(www.51php.com)小编总结了上面几天常用的语句,当然这些语句也是可以用其他方式代替的,如果您有更好的SQL操作欢迎您补充。 纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/wordpress/10427.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服