月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 电影赤壁下集观后感Google Chrome推出2.0测试版 »

八个有用的WordPress的SQL语句

  在过去的十年中,MySQL已经成为广受欢迎的数据库,而WordPress博客使用的是MySQL数据库,虽然使用插件可以解决一些问题,但是实现某些特殊任务的时候,在phpMyAdmin中执行SQL语句是最简洁的方法,这里就总结八个有用的WordPress系统的SQL语句,用于解决一些实际碰到的问题。

  1、创建备份数据库

  备份数据库是首先要做的事情,只需要通过以下方法就可以简单备份数据库:

  登录phpMyAdmin后。选择你的WordPress数据库,然后点击“导出”按钮,选择一种压缩方式(可以使用gzip)并单击“执行”按钮,当浏览器提示是否下载的时候,点“是”,将数据库文件下载到本地。

  2、批量删除文章修订

  WordPress2.6以后的版本增加了一个Post revisions功能,虽然有点用,但文章修订增加了你数据库的大小,我们可以选择批量删除。

  登录phpMyAdmin后执行下面的SQL语句即可批量删除。

DELETE FROM wp_posts WHERE post_type = "revision"; 

  3、批量删除垃圾评论

  一个真实的故事是,我的一个朋友在网上建立了一个博客,有次他花了几天时间外出度假,没有上网,当他回来的时候,登录自己的博客,看到有5000多条评论等待审核,当然,大多数都是垃圾评论,要手动删除这些评论要花大量时间,因此我们可以使用以下办法。

  登录phpMyAdmin后执行下面的SQL语句。

DELETE from wp_comments WHERE comment_approved = '0';

  要小心,虽然这种解决方案对于处理数百万的垃圾平邮非常有用,但是也会清除未经批准的评论,因此最好还是安装使用Akismet来对付垃圾评论。

  4、修改文章属性

  你安装WordPress后,admin账户就创建了,不少人都错误的使用这个帐号来写博客,直到他们认识到,这并不是个人帐号。

  解决的方法,每篇文章修改作者属性需要大量的时间,下面的这个SQL语句可以帮你快速完成这个功能。

  首先你要找到你正确的用户名,使用下面的SQL语句可以找到你的用户ID号。

SELECT ID, display_name FROM wp_users;

  假设这个ID为NEW_AUTHOR_ID,而管理员admin的ID为OLD_AUTHOR_ID,接着,运行下面的SQL语句。

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

  5、手动重设密码

  很多人为了保护自己的博客不被人黑掉,使用了很复杂的密码,这虽然是一件好事,但也经常会发生遗忘管理员密码的事情。

  当然,通过电子邮件可以发送给你WordPress重设密码的链接,但如果你无法访问你的邮件地址,那么就只好使用下面的SQL语句来重设你的密码了。

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

  MD5是MySQL内置的哈希函数,用于将密码转换为散列值。

  6、更改WordPress的域名

  你可能有时候会想要更改你博客的域名,但是WordPress会将你的域名存储在数据库中,因此你要使用下面的SQL语句来修改。

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';

  接着,你还要使用下面的SQL将文章的GUID也进行修改。

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');

  最后,使用下面的语句将文章里所有旧域名替换为新域名。

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');

  7、显示SQL查询数量

  在你有话博客性能的时候,了解到查询数据库的数量是非常重要的,为了减少数据库查询,我们需要知道在一个页面上到底有多少个查询。

  这一次,不需要登录phpMyAdmin了,你只需要修改footer.php文件,在文件结尾增加下面几行代码即可。

<?php if (is_user_logged_in()) { ?>  
    <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.  
<?php } ?>

  8、恢复你的WordPress数据库

  当你的数据库因为某些原因(黑客或者升级错误)被损坏或者丢失了,如果你有备份的话,那可以恢复你的WordPress数据库。

  登录phpMyAdmin,选择你的WordPress数据库,点“导入”按钮,点“浏览”按钮,然后从你的硬盘选择备份文件,点“执行”按钮就可以将数据库导入。

  如果顺利的话,你的WordPress功能将会恢复正常。

  英文原文:8 Useful WordPress SQL Hacks
  中文翻译:William Long
  中文译文:八个有用的WordPress的SQL语句



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1650.html
  • 文章排行:
  • 2.ken
  • WordPress装过几次,几次用不到几天就被我删了。。。。。
  • 2009-1-9 23:40:43   回复该留言
  • 11.林网博客
  • 不服不行,月光可是真够夜猫子的!

    wordpress的数据库还是相当精简的!实用、够用就好!!
  • 2009-1-10 0:40:45   回复该留言
  • 15.一亿度
  • blog.yiyidu.com/
  • 昨天我刚把数据库文件下载下来,把里面的某些字符串进行了批量替换,本地操作非常快!
  • 2009-1-10 2:07:40   回复该留言
  • 17.SQLHacks
  • Jean-Baptiste Jung, a 26-year-old blogger from Belgium, blogs about WordPress at WpRecipes and about everything related to blogging and programming at Cats Who Code. You can stay in touch with Jean by following him on Twitter. !

  • 2009-1-10 7:14:39   回复该留言
  • 24.Ven
  • 月光哥哥你火星了,这篇文章半个月前就有人翻译了。
    http://www.wordpress.la/8%E4%B8%AA%E5%AE%9E%E7%94%A8%E7%9A%84WordPress%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E5%B7%A7.html
  • 2009-1-10 11:23:24   回复该留言
  • 26.Mojo
  • Google换的新favicon,月光觉得怎么样?
  • 2009-1-10 15:02:47   回复该留言
  • 33.countmeon
  • pzg.me/
  • 用过里面几个,主要是删除历史文章,这个刚开始用不清楚中招了很多文章 。
  • 2009-1-17 18:54:24   回复该留言
  • 36.金山毒霸2009
  • www-duba2009.cn
  • 用过里面几个,主要是删除历史文章,这个刚开始用不清楚中招了很多文章
  • 2009-3-13 23:50:59   回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅本站

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.