主页/WordPress笔记/博客文章/综合文章/如何通过phpMyAdmin重置WordPress密码

如何通过phpMyAdmin重置WordPress密码

写 Bug工程师:

要通过PHPMyAdmin重置WordPress的管理员密码,请按照以下步骤操作:

  1. 登录到WordPress管理后台:首先,你需要访问你的网站并登录到WordPress管理后台。

  2. 打开数据库编辑器

    • 在浏览器地址栏中输入 wp-admin/db.php 并按回车键。
    • 这将打开一个PHP文件,其中包含了WordPress数据库的连接信息。
  3. 执行SQL查询

    • 找到名为 users 的表(通常位于 wp_ 前缀下),然后找到 ID 列和 user_login 列之间的关系。
    • 使用以下 SQL 查询来获取用户的详细信息,特别是他们的用户名和ID:
      SELECT user_id, user_login FROM wp_users WHERE user_email = 'admin@example.com';

      其中 'admin@example.com' 是你想要更改密码的用户邮箱。

  4. 更改密码

    • 一旦找到了对应的记录,你可以使用以下命令来更新密码:
      UPDATE wp_users SET user_pass = PASSWORD('new_password') WHERE user_login = 'old_username';
  5. 保存更改

    • 更新密码后,点击页面顶部的“提交”按钮以保存更改。
  6. 验证新密码

    • 返回WordPress管理后台,尝试使用新的密码登录以确认更改是否成功。

示例代码

假设我们有一个用户 username 的旧密码是 current_password,我们需要将其重置为 new_password。以下是具体的操作步骤:

-- 登录到MySQL服务器
mysql -u root -p

-- 创建一个新的用户
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';

-- 授予权限给新用户
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;

-- 确认权限设置
SHOW GRANTS FOR 'new_user'@'localhost';

-- 修改用户密码
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='new_user' AND Host='localhost';
FLUSH PRIVILEGES;

请注意,这个过程会删除旧的密码哈希值,因此请确保你有备份或不会因为忘记密码而影响其他用户的安全性。

效果

  • 完成上述步骤后,WordPress管理后台应该提示你输入新的管理员密码,如果你已经完成了所有操作,你应该能够成功重置密码。

希望这些信息对你有所帮助!如果你有任何进一步的问题,欢迎随时提问。

黑板IDE教书匠:

PHPMyAdmin简介

PHPMyAdmin 是一个用于管理 MySQL 数据库的免费工具,它提供了直观的界面来创建、删除和更改数据库表结构以及执行 SQL 语句。

如何使用PHPMyAdmin重置WordPress密码

要通过 PHPMyAdmin 重置 WordPress 密码,请按照以下步骤操作:

  1. 登录到MySQL服务器:首先确保已正确配置并运行了您的 PHPMyAdmin 登录脚本。
  2. 连接到MySQL服务器:打开 PHPMyAdmin 的浏览器窗口,在右上角输入您 MySQL 服务器的用户名(通常是 root)和密码。
  3. 选择数据库:找到并选中您想要修改密码的数据库。
  4. 切换至“用户”视图:点击页面顶部的“用户”选项卡。
  5. 查找或添加新用户:根据需要,您可以查找现有用户或者添加新的用户。注意,如果要为 WordPress 用户添加权限,请先检查他们的角色是否与 WordPress 需求相符。
  6. 设置新密码:在用户信息栏中,设置新密码。请注意,这将是用户的唯一密码,因此请务必谨慎处理。
  7. 保存更改:点击页面底部的“保存”按钮以应用更改。
  8. 退出PHPMyAdmin:关闭 PHPMyAdmin 浏览器窗口,然后重新启动 WordPress 站点。

示例代码实现

代码 1: 查找现有用户并设置新密码

<?php
// 假设 $username 是要查找的用户名
$username = 'your_username';

// 连接到 MySQL 数据库
$conn = new mysqli('localhost', 'root', '', 'your_database');

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM users WHERE username='$username'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 找到用户并获取其密码
    while($row = $result->fetch_assoc()) {
        if ($row['password'] != '') { // 如果存在旧密码,则继续
            $new_password = password_hash('new_password', PASSWORD_DEFAULT); // 设置新密码
            $update_query = "UPDATE users SET password=$new_password WHERE username='$username'"; // 更新密码
            $conn->query($update_query);
        }
    }
} else {
    echo "No user found";
}
$conn->close();
?>

代码 2: 添加新用户并设置新密码

<?php
// 假设 $username 和 $password 是新用户的用户名和密码
$username = 'new_user';
$password = 'new_password';

// 创建新用户
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
$conn = new mysqli('localhost', 'root', '', 'your_database');
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$conn->query($sql);
$conn->close();

// 设置新密码
$new_password = password_hash('new_password', PASSWORD_DEFAULT);
$users_table = 'users';
$user_id = $conn->insert_id;
$sql = "UPDATE $users_table SET password=$new_password WHERE id=$user_id";
$conn->query($sql);
$conn->close();
?>

以上代码片段仅作为示例,实际应用时应考虑更安全的方法来存储和验证密码。