回答:
usersテーブルに行を追加して、新しいユーザーを作成できます。パスワードフィールドには、MD5ハッシュパスワードを含める必要があります。オンラインMD5ジェネレーターを使用できます。PHPMyAdminを使用している場合は、プレーンパスワードを入力するテキストボックスの横にあるMD5関数を選択します。新しく作成したユーザーのユーザーID(uid)をメモします。その後、ロールテーブルで十分な権限を持つロールを見つける必要があります。ロールID(rid)を見つけ、users_rolesテーブルの新しい行にuidとridを入力します。
クライアントがユーザー1ですべてを実行するため、管理者アクセスを許可するロールがない場合、少し汚いトリックを実行する必要があります。ユーザー1のパスワードハッシュをどこかに保存し、ユーザー1の新しいパスワードを一時的に追加します。次に、ユーザー1でログインし、自分用の新しいアカウント、十分な権限を持つ新しいロールを作成し、そのロールに自分を追加します。その後、データベース内のユーザー1を編集し、パスワードを復元します。ロールに常にすべてのアクセス許可を強制するために、adminロールを推奨できます。
もっと簡単な方法があります。
http://mysite/user
パスワード回復リンクに移動してクリックします。もちろん、これはあなたの開発システムがdrupalに箱から出してメールを送ることを許可していることを前提としています。これはほとんどのlinuxおよびosxボックスに当てはまりますが、Windowsには当てはまりません。
drush uli
ユーザ1としてログインする
データベースにアクセスできる場合は、次のクエリを実行します
UPDATE users
SET name='admin',
pass='$S$Drl0vgZ9yuU9uc4JyaTMHxMPriC7q/PsOUOx52fCrVQSTpI/Tu4x',
status=1
WHERE uid = 1;
ログインの詳細は次のとおりです。
ユーザー名= admin
パスワード= drupal
ここで参照:
https://knackforge.com/blog/sivaji/different-ways-reset-drupal-admin-password
$user = array();
$user['status'] = 1; //for active user
$user['mail'] = 'test@test.com';
//profile field $user['profile_field_fname'] = 'Vikrant';
$user_account = array();
if($user_uid = module_name_get_uid_by_email($user['mail'])) { //It will use for update.
$user_account = user_load(array(uid => $user_uid));
}
//save or update user information.
user_save($user_account, $user);
//Check existing record by email.
function module_name_get_uid_by_email($email){
$query = db_query("SELECT uid FROM {users} WHERE mail = '%s'",$email);
$result = db_fetch_object($query);
return $result->uid;
}
上記のコードを試してください。
できることは、データベースにアクセスして、古い管理者パスワードを保存し、管理者パスワードをリセットしてからログインし、新しいユーザーを作成してから、管理者パスワードを開始前の状態にリセットすることです。
Drushにアクセスできる場合、これを行うことができます。
cd <drupal root directory>
php scripts/password-hash.sh 'drupal'
次に、上記で生成されたMD5ハッシュパスワードを取得します。
drush sql-cli
update users set name='admin', pass='pasted_big_hash_from_above' where uid=1;
quit
これでうまくいくはずです。
(ソース)