使用访问sysop和数据库访问权限如何更改与用户关联的电子邮件地址?
数据库中的用户表将所有内容编码为BLOB。如果我可以解码和编码这些值,大概我可以更新user.user_email。
答案 0 :(得分:8)
UPDATE user SET user_email='foo@bar.com' WHERE user_id=...
应该可行。但是,如果您还需要设置已确认的标记,请参阅说明here(将mwscript行替换为php maintenance/eval.php
)。如果您只需要设置电子邮件以便重置密码,请参阅https://www.mediawiki.org/wiki/Manual:Resetting_passwords
您可以获得此类用户和电子邮件的最新列表(即解码):
SELECT Cast(user_name AS CHAR), Cast(User_Email AS CHAR) FROM user;
答案 1 :(得分:0)
MaxSem的答案对我不起作用,但这是一个MediaWiki维护脚本(在v1.27中引入),可以解决这个问题:https://www.mediawiki.org/wiki/Manual:ResetUserEmail.php
转到Wiki的基本目录,然后输入如下内容:
FileProvider
将用户uuuu的电子邮件地址更改为new@email.address。默认情况下,这将更改用户密码,以便用户必须重置密码,通常可以在Wiki网站上完成此操作。您可能需要添加用户名和密码才能访问数据库,例如:
php maintenance/resetUserEmail.php uuuu new@email.address