荷塘月色__shanlxj的BLOG

  • 首页
  • 关于
  • 留言
  1. 首页
  2. 电子电脑
  3. 正文

8个实用的WordPress数据库技巧

2010年5月31日 3点热度 0人点赞 0条评论


(txt版本)
  近10年,MySQL数据库广受网络大众欢迎。现在,所有的WordPress博客(包括日志,设置,评论等)都由MySQL数据库支持。
  虽然插件和代码修改能帮助我们解决一些问题,但有时我们也不得不用phpMyAdmin 中的SQL命令或直接通过SSH访问数据库来解决问题。这篇文章将向大家介绍对WordPress较有用的8个SQL修改。其中每个修改版块都提出了一个问题,并给出解决方案和注解。

   1 、备份数据库
  问题:尽管本文中所有的技巧都经过测试,但是在尝试前请务必首先备份MySQL数据库。
  解决方法:手动备份数据库,请按以下步骤操作:
  1、登陆phpMyAdmin,选中要备份的数据库。
  2、点击水平菜单上的“导出”按钮。
  3、选择压缩方法(我本人使用gzip),然后单击“执行”。
  4、服务器接着会询问你是否下载备份,点击“是”,然后把它存储到硬盘。
  注解:使用WP-DB-Backup插件执行数据库备份非常方便。WordPress用户可以安装这个插件并定期备份数据。
  2 、批量删除日志修订本
  问题:日志修订本是2.6的新增功能,虽然十分有用,但这也增加了MySQL数据库的负担。你当然可以手动删除修订本,但这将十分麻烦且耗时过长。
  解决方法:这个解决办法非常简单。我们可以使用SQL语句批量删除日志修订本。
  1、登陆phpMyAdmin,选中你的WordPress数据库。
  2、单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:
  DELETE FROM wp_posts WHERE post_type = "revision";
  3、完成了!删除掉的日志为你腾除了大量数据库空间!
  注解:wp_posts 表格包含一个名为post_type 的字段。这个字段可被赋予诸如日志,页面,修订本的值。当我们需要删除日志修订本时,只要运行wp_posts表格中相对应的修订本删除语句就行了。

  3 、快速删除垃圾评论
  问题:我的一个朋友前不久开通博客后,一直在网上努力推广他的博客。 在他外出度假归来时,竟发现自己有5000多条评论等待审核!当然,其中多数都是垃圾广告。但他认为自己不得不逐个审核以防删除了正常评论。
  解决方法:庆幸的是,他把这个问题告诉了我。当我告诉他可以使用 SQL时,他已经审核45分钟了。
  1、登陆phpMyAdmin,选中你的WordPress数据库。
  2、单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:
  DELETE from wp_comments WHERE comment_approved = "0";
  3、完成了!现在可以享受清洁无污染的数据库环境了!
  注解:wp_comments表格中包含名为comment_approved的域,它是一个boolean值(1或0)。通过审核的评论值为1,等待审核的值为0.运行以上语句,其实就是删除还没有通过审核的评论。
  此操作要谨慎执行。以上语句不仅能帮我们删除大量垃圾评论,同时也会删除无效的没有通过审核的评论。如果你还没有使用Akismet,现在就安装以打击垃圾评论吧。
  4 、更改日志属性
  问题:管理帐户在安装WordPress时就已创建。但许多博主把这个帐户误以为就是写日志的帐号,以致到后来才发现这不是私人帐号。
  解决方法:更改所有日志的作者属性要花费很多时间,但使用SQL就不用这么麻烦了。
  1、登陆phpMyAdmin,选中你的WordPress数据库。
  2、首先,打开SQL语句窗口,执行以下命令以获取正确的作者ID:
  SELECT ID, display_name FROM wp_users;
  3、phpMyAdmin会显示许多WordPress用户的ID。其中NEW_AUTHOR_ID是最近写日志的作者的ID, OLD_AUTHOR_ID是原始管理员的ID。
  4、交换NEW_AUTHOR_ID 和 OLD_AUTHOR_ID ID后,运行以下语句:
  UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
  5、完成了!以前的日志属性现在已改为你刚刚设置的了!
  5、 手动重设密码
   问题:为了增加博客安全性,许多博主选择不易被破解的密码,如u7*KoF5i8_。这当然很好,但问题在于博主自己忘记密码的事情也时常发生啊。
  解决方法:密码丢失后,WordPress会给你邮箱发送密码重设链接。但如果你在注册时使用的邮箱现已不可用,或你想使用简单语句执行这个操作的话,可参考以下步骤:
  1、登陆phpMyAdmin,选中你的WordPress数据库并打开SQL窗口。
  2、输入以下语句(假设你的用户名是“admin”):
  UPDATE wp_users SET user_pass = MD5('PASSWORD') WHERE wp_users.user_login ='admin' LIMIT 1;
  3、完成了!你的密码已更改成功。
  注释:用户密码存储在wp_users表格中。当然,WordPress使用了MD5哈希保护密码。
  我们要使用“UPDATE” SQL语句和内置的MD5() MySQL函数来把密码转化为MD5算法形式,然后更新。“WHERE”从句使系统只更新管理员的密码。不带有“WHERE”从句会导致系统更新所有的密码。
  6 、更改域名
   问题:虽然我们并不主张这样做,但也许有时你需要在保留博客和数据的同时改变博客的域名。由于WordPress把域名存储在数据库中,所以为了把新域名和博客连接起来,你必须更改数据库。
  解决方法:
  1、登陆phpMyAdmin,选中你的WordPress数据库。
  2、点击“SQL”,打开SQL命令窗口,输入以下命令更改URL:
  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';
  3、使用以下语句替代所有日志的相对URL(guid全局唯一标识符)
  UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');
  4、搜索wp_posts表并替代其中的URL,以确保没有老的URL存在了:
  UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
  5、完成!现在可以使用新URL登陆WordPress控制台了。
  注解:为了更快地更改WordPress域名,我选择使用超级有用的MySQL函数“replace,”,这会完全替代所有需要替代的内容。
  7 、在博客上显示SQL查询数量
   问题:了解输入到数据库的查询数量对优化博客载入时间非常重要。为了减少查询,我们首先要知道单个页面的查询数量。
  解决方法:
  1、打开主题中的footer.php文件,添加以下代码:
  <?php if (is_user_logged_in()) { ?>
    <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
  <?php } ?>

  2、保存文件,然后访问博客。在页脚,系统已经显示WordPress数据库的查询数目,及查询所用时间。
   注解:许多用户似乎都不了解这个功能。get_num_queries()函数会显示页面载入时执行的查询数目。
  以上代码只会对注册用户显示查询数目,因为访客和搜索引擎并不需要知道这些内容。但如果你想公开的话,直接删除if (is_user_logged_in())这个条件语句就可以了。
  8 、恢复WordPress数据库
  问题:如果修改或升级过程或其它原因造成了博客数据的丢失或损坏,希望你有备份的数据库。这样,你可以把备份的数据库导入到数据库中以弥补损失。
  解决办法:
  1、登陆phpMyAdmin,选择你的WordPress数据库。
  2、单击水平菜单上的“导入”按钮。
  3、点击“浏览”,选择硬盘上最新备份的数据库。
  4、单击“执行”。如果一切正常的话,你的数据库现在已在运行了!
-----------------------------------------------------------------

禁用WP文章修订版本和自动保存功能

  大家在发表和编辑文章的时候,可能都不喜欢WordPress 自动保存(AutoSave)和文章历史修订版本(Revisions)的功能。一方面网速不好的时候,它会影响编辑和发表文章页面的加载速度;另一方面这些文章的历史修订版本都会写入数据库保存,无形中大大增加了数据库的膨胀速度,冗余数据太多也影响数据库的存取查询效率。wp管理后台并没有提供关闭功能选项。那么如何禁用WordPress自动保存和文章历史修订版本功能呢?这也是WordPress优化数据库第一步要做的内容。
  首先我们可以使用WordPress插件,禁用自动保存和关闭文章修订版本的插件有很多,如果你不想安装插件,那也可以手动修改代码关闭和禁用WordPress自动保存和文章修订版本功能。
  目前,关于修改文件来关闭WordPress 自动保存功能(AutoSave),本人不建议这么做,麻烦不说,WP的升级最近也挺快的,效果不是很好!
  清理数据库中以前的文章历史修订版本
  另外你也可以通过phpmyadmin定期清理和删除数据库中的冗余文章修订版本,清理以前的文章修订版本也一样。数据库操作前最好先进行备份。在 phpmyadmin 中进行数据库管理,SQL语句命令行中写入以下运行代码执行(若你设置了数据库表名的前缀,需要将数据表名称中wp改成你的前缀): 

1 delete from wp_posts where post_type='revision';

另外还可以再用SQL语句:

1
2
DELETE FROM wp_postmeta WHERE meta_key= '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key ='_edit_last';

  删除数据库中文章特殊数据表wp_postmeta中meta_key字段为_edit_lock(代表上次修改post的修改时间)和_edit_last(指最后一次编辑时间)的数据,然后全选所有表,下拉列表中选择使用phpmyadmin“优化表”功能。

--------------------------------------------------------------------------------------------------------------

标签: mysql urk wordpress
最后更新:2012年2月23日

shan yan

现奇妙的爱情| 从握手的 | 瞬间开始 | it`s my fault | 不懂你的心 | 使这段爱 | 化成泪 | 流出手心 | 对不起!| 我爱你!!! 在某个黄昏,当那曾经让你心动的乐声不经意地滑入耳膜,伤感无奈,哀婉凄美,在你的心底,是否也会泛起点点滴滴的往事?那些你想忘记的,不想忘记的,或是原以为早已忘记的…… “我从不知道爱你会有那么的难  也许你早已经离开了我的身旁 我不要和别人一样 我会把眼泪往心里藏  相信你知道我的情感 这一生我永远不能忘

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
最新 热点 随机
最新 热点 随机
晚饭一个改变,血糖、血压、脂肪肝都会变好 个人总结的存酒买酒经验 辽宁省管干部任前公示(2026年第5号) 辽宁省管干部任前公示(2026年第4号) ‌2024年度白酒十大百亿级单品排名! 申公豹20条经典语录,治愈了30年职场的我
辽宁省管干部任前公示(2026年第5号)个人总结的存酒买酒经验晚饭一个改变,血糖、血压、脂肪肝都会变好
果子小公主沛鑫的清新图片[10P] 初中的恋爱..死在了火车道上..超感动 女生体寒的·····女生手脚冰凉的都来看了 夜场女人! 孩子,我不欠你的 清凉:13则还不错的冷笑话
分类
  • 个人日记
  • 医疗健康
  • 开心一笑
  • 情感驿站
  • 感悟人生
  • 汽车天地
  • 生活美食
  • 电子电脑
  • 电视电影
  • 美女照片
标签聚合
女人 女生 爱情 女孩 美女 故事 男人 经典

COPYRIGHT © 2026 荷塘月色__shanlxj的BLOG. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

辽ICP备09024489号-1