超级管理员访问被遗忘的WP实例?

时间:2021-03-18 作者:steel

我继承了一个Wordpress实例,该实例由MySQL数据库支持,托管在一个基本服务器上。我有SSH访问服务器的权限,甚至可以使用一组旧凭据登录到管理面板。但是我的登录名不允许我安装插件,我现在必须这样做。

如果我有王国的钥匙,但不知道,我如何才能找到旧超级管理员的登录名,或者将我可以登录的用户转换为超级管理员?

我对原始SQL很熟悉,只是对Wordpress一点也不熟悉。

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

Note: 超级管理员只在WordPress Multisite中有意义。我在下面假设您正在运行Multisite,尽管您的问题没有标记为Multisite。

超级管理员存储为serialized 中的数组{$prefix}_sitemeta 中的表site_admins 记录在本地安装中,仅使用用户IDadminpj 作为一名超级管理员,我看到的是:

mysql> SELECT meta_key, meta_value FROM wp_sitemeta WHERE meta_key=\'site_admins\';
+-------------+--------------------------+
| meta_key    | meta_value               |
+-------------+--------------------------+
| site_admins | a:1:{i:0;s:7:"adminpj";} |
+-------------+--------------------------+
取消序列化meta_value, 我得到:

Array (
    [0] => adminpj
)
因此,您可以a)查看您现有的超级管理员是什么,或b)将您自己的用户名添加到site_admins 记录