Loading... # 用 123456 作为临时密码登录 ## 1. 准备好一个连接数据库的方式 一个完整的命令大概这样,数据库与网页在一台机器的话,直接 `mysql -u user -p` 就可以 ```bash mysql -u USER -p -h HOST -P PORT # -h/--host, -P/--port ``` ## 2. 找到服务器连接目标 ```sql mysql> show databases; +--------------------+ | Database | +--------------------+ | b_zsh_dev | | information_schema | +--------------------+ 2 rows in set (0.00 sec) ``` ## 3. 选中库,列出表 typecho 安装的时候是有前缀的(为了在一个数据库里面运行多个实例) 这里找到自己实例的前缀 + `users` ```sql mysql> use b_zsh_dev; Database changed mysql> show tables; +-------------------------------+ | Tables_in_b_zsh_dev | +-------------------------------+ | typecho_access_logs | | typecho_comments | | typecho_contents | | typecho_fields | | typecho_handsomecache | | typecho_handsomerelationships | | typecho_handsometag | | typecho_links | | typecho_metas | | typecho_options | | typecho_relationships | | typecho_users | +-------------------------------+ 12 rows in set (0.00 sec) ``` ## 4. 找到 `users` 表 列出所有用户,找到自己(单用户的话,`uid` 应该就是 `1`,多用户的话找到自己的用户) ```plaintext select uid, name, password, mail from typecho_users; ``` ```plaintext +-----+---------+------------------------------------+-----------------+ | uid | name | password | mail | +-----+---------+------------------------------------+-----------------+ | 1 | zsh2517 | $P$BVu4wZJlT9QJfuoM0zEbD.KT0bk8Gz1 | xxx@example.com | +-----+---------+------------------------------------+-----------------+ 1 row in set (0.00 sec) ``` ## 5. 更新密码 这里面的 `$P$BVu4wZJlT9QJfuoM0zEbD.KT0bk8Gz1` 对应的是 `123456`。先修改完密码,登录后台再改成实际想要的。后面的 `uid = 1` 改为上面找到的自己的 `uid` ```sql update `typecho_users` set `password` = '$P$BVu4wZJlT9QJfuoM0zEbD.KT0bk8Gz1' where uid = 1; ``` ## 6. 验证一下 重新查看一下 `users` 表,确认更新 ``` select uid, name, password, mail from typecho_users; ``` ``` +-----+---------+------------------------------------+-----------------+ | uid | name | password | mail | +-----+---------+------------------------------------+-----------------+ | 1 | zsh2517 | $P$BVu4wZJlT9QJfuoM0zEbD.KT0bk8Gz1 | xxx@example.com | +-----+---------+------------------------------------+-----------------+ 1 row in set (0.00 sec) ``` ## 7. 用 123456 作为密码登录,进入后台更新密码 地址 `https://DOMAIN/admin/manage-users.php`,点进去用户,然后就可以更新密码 > **注意,不要手贱更改自己的用户组。如果改了的话,去 sql 执行** > > ```sql > update `typecho_users` set `group` = 'administrator' where uid = 1; > ``` # 直接生成自己想要的密码 下面的代码保存到 Typecho 根目录,命名如 `pass.php`,访问 `https://DOMAIN/pass.php` 即可。然后替换上面第五步的 `$P$BVu4wZJlT9QJfuoM0zEbD.KT0bk8Gz1` (用完记得删掉或者挪走) ```php <?php include_once './var/Utils/PasswordHash.php'; $generatedPassword = '123456'; //新密码 $hasher = new \Utils\PasswordHash(8, true); $password = $hasher->HashPassword($generatedPassword); print_r($password . "\n"); exit; ``` 参考链接 1. [typecho 1.2.1 重置密码 / 忘记密码 by: blog.tamshen.com](https://blog.tamshen.com/archives/typechopassword.html) 2. [找回typecho密码 by: ogenes@CSDN](https://blog.csdn.net/weixin_39857866/article/details/117694628) 最后修改:2024 年 07 月 21 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏