实用WordPress SQL语句集锦:第三章

在《实用WordPress SQL语句集锦:第二章》中,我们分析的是关于批量删除待审核评论和变更日志归属的SQL命令。这一章我们讲解手工重置密码和变更WordPress域名的方案。

5、手动重置密码

useful-wordpress-sql-hacks-05

问题。为了加强对博客的保护,人们往往选择强密码,如u7* KoF5i8_这样的字符串。这个习惯很好,但我也听到不少忘记密码的故事,绝对的杯具啊。

方案。虽说遗失密码后,WordPress可以发送电子邮件,让你通过一个链接完成密码重置。但是,如果你不能访问WordPress数据库中记录的电子邮件地址了,或者你比较喜欢运行一个简单的命令来解决该问题,那么下面的方法绝对适合你。

  1. 登录phpMyAdmin,选择WordPress数据库,然后打开SQL窗口。
  2. 输入以下命令(假设你的用户名是“admin”):
    UPDATE wp_users 
    SET user_pass = MD5('PASSWORD') 
    WHERE wp_users.user_login = 'admin' LIMIT 1;
  3. 大功告成。原密码已经被修改为上述语句中标记为“PASSWORD”的字符串。

解释。用户密码存储在wp_users表中。当然,密码是经过MD5哈希加密的。

我们提交一个“UPDATE”SQL请求,并使用MySQL内建的MD5函数将新密码转换为MD5值,然后更新原密码。“WHERE”子句确保我们仅更新管理员账号的密码。注意:未经“WHERE”条件限制的语句将导致所有用户密码全部被更新!

来源

6、变更WordPress域名

useful-wordpress-sql-hacks-06

问题。虽然我们不建议这么做,但有时你可能希望变更博客域名,同时保留原有数据。由于WordPress将域名记录在数据库中,我们必须更新数据库相应条目,以建立新域名与原博客的关联。

方案

  1. 你猜对了:首先要做的仍然是登录phpMyAdmin,然后选择WordPress数据库。
  2. 点击“SQL”按钮,打开SQL命令窗口。要改变WordPress 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仍使用原域名:
    UPDATE wp_posts 
    SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
  5. 大功告成。现在我们应该能够使用新网址登录到WordPress控制板了。

解释。要轻松改变WordPress域名,我们可以借助于超有用的MySQL函数“replace”,即,以一个字符串取代另一个。

来源

作者:Keefe Dunn

a dreamer, a learner, a lawful beginner.

发表评论

您的电子邮箱地址不会被公开。