您可以使用 maintenance/changePassword.php
维护指令码 来重置一名使用者的密码。
您必须在命令列下执行该指令码。换句话说,請登入到安裝 wiki 的伺服器,然後進入命令列提示符。進入安裝目錄,然後進入 maintenance 子目錄。執行下列命令:
php changePassword.php --user=someuser --password=somepass
這裡可見的 “somepass” 就是您將要設定的密碼,而 “someuser” 就是您將修改其密碼的使用者名稱,該使用者名稱應出現在資料庫的 “user” 表中。
您同樣可以使用直接修改資料庫的老辦法。假設變數 $wgPasswordSalt
已被設為 true 值(預設),您可以在 MySQL 中執行下列 SQL 查詢:
UPDATE USER SET user_password = MD5(CONCAT(user_id, '-',
MD5('somepass'))) WHERE user_name = 'someuser';
這裡可見的 “somepass” 就是您將要設定的密碼,而 “someuser” 就是您將修改其密碼的使用者名稱,該使用者名稱應出現在資料庫的 “user” 表中。
- 注意:CONCAT 字串中的 user_id 是一項列名,不應被替換為 'someuser'。
-
注意:如果您得到了 'dbname.user table does not exist' 錯誤,請檢查LocalSettings.php 檔案,並特別注意 $wgDBprefix 變數的值。如果該變數不為空,請嘗試重複執行上述命令,並將 SQL 查詢
UPDATE
子句中的user
替換為$wgDBPrefix_user
。
如果您使用的是 PostgreSQL,請使用下列查詢替代:
UPDATE mwuser SET user_password =
md5(user_id || '-' || md5('somepass')) WHERE user_name='someuser';
作者:itread01
原文:https://www.itread01.com/content/1545647243.html
网友评论