【WordPress・MySQL】WordPressの管理者アカウントを追加するSQL

WordPressの面倒を見ていると「アカウント忘れてWordpressにログインできなくなった」とか「担当者が辞めてしまってログインできない」とか「管理者アカウントのメール解約した」とか「クローンでテスト環境作ったけどアカウント分らん」とかで、情報が失われたりパスワード再発行のメールアドレスが失われたときに管理者アカウントを無理くり追加する方法をメモしておきます。

概要

SQLで管理者ユーザー作って、Wordpress管理画面からパスワード発行。

分ってる人向け簡潔な結論(っていうか自分用)

your_name、your_name@example.comは必要に応じて変更、wp_usersはxxxxxusersなど環境によって異なるので合わせる。

-- まずユーザー登録
INSERT INTO wp_users(`user_login`, `user_email`)
VALUES('your_name', 'your_name@example.com');

-- 自分のユーザーIDを調べる
SELECT ID FROM wp_users WHERE user_login = "your_name";

ユーザーを作成してユーザーIDを覚えておく。(以下、YOUR_IDをこのIDと差し替え。

次のSQLで管理者権限を付与。wp_usermetaはxxxxxusermetaなど環境によって変わるので合わせる。

-- usermetaに管理者権限登録。YOUR_IDをさっき作ったユーザーのIDに書き換え
INSERT INTO wp_usermeta (`user_id`,`meta_key`,`meta_value`)
 VALUES
 ( YOUR_ID, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}' ),
 ( YOUR_ID, 'wp_user_level', 10);

WordPressの管理画面からパスワード再発行を選んでパスワードを設定。

以上!

以下、丁寧めの解説。

SSHでサーバにログインしてMySQLにログインしてもいいけど、さくらのレンタルサーバの場合だとphpMyAdminがついてるので、「さくらインターネットのレンタルサーバを使っている場合」を基準に進めます。(xserverにもphpMyAdminはついてるのでログイン後は同じです。)

手順(1)サーバコントロールパネルにログイン→phpMyAdminのページに移動

「データベース」のアイコンクリック、Wordpressで使っているデータベースの「設定」をクリック→phpMyAdminログインをクリック。

新しいウインドウが開いて、phpMyAdminが起動しました。

手順(2)データベースのログイン情報=wp-config.phpに記載されてます。そしてphpMyAdminにログイン。

レンタルサーバのコントロールパネルのファイルマネージャか、FTPでWordpressがインストールしているフォルダにアクセスして、「wp-config.php」というファイルを探します。その中の30行目くらい「DB_USER」、「DB_PASSWORD」「DB_HOST」と書かれた箇所を探します。

上の画像ではモザイクがかかってますが、それぞれphpMyAdminの「ユーザー名」「パスワード」「サーバの選択」に対応しているので、これを入力して、phpMyAdminにログインします。例えば「define(‘DB_USER’, ‘mysite’);」と書かれていたら、ユーザー名は「mysite」です。

手順(3)Wordpressで使ってるデータベースをクリック→「wp_users」テーブルを選択、SQL発行画面に移動。

※このとき、セキュリティ意識が高いサイトだと「wp_users」の頭の「wp_」が何か別の文字列になっている場合があります。以下、変更されてない前提で話を進めます。変更されている場合には以下のSQLの「wp_users」や「wp_usermeta」をそれぞれ変更されたものに置換してください。

手順(4)SQLを発行、ユーザーを手動で作成

以下のSQLコードを張り付けて「実行」ボタンをクリックします。your_nameとかyour_name@example.comは、それぞれ自分の名前(英文字)とメールアドレスにしてください。

-- まずユーザー登録
INSERT INTO wp_users(`user_login`, `user_email`)
VALUES('your_name', 'your_name@example.com');

-- 自分のユーザーIDを調べる
SELECT ID FROM wp_users WHERE user_login = "your_name";
-- 結果をメモしておく(以下、YOUR_ID)

↓こんな感じで実行ボタンをクリック。

すると一番下の方にIDが出てくるのでそれをメモしておきます。今回の例だと「7」ですね。

手順(5)作成したユーザーに管理者権限を付与する

同様に、SQLタブをクリックして、以下のSQLを張り付けて実行します。

-- usermetaに管理者権限登録。YOUR_IDをさっき作ったユーザーのIDに書き換え
INSERT INTO wp_usermeta (`user_id`,`meta_key`,`meta_value`)
 VALUES
 ( YOUR_ID, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}' ),
 ( YOUR_ID, 'wp_user_level', 10);

※「YOUR_ID」を先ほどの数字に置き換えてください。(今回の例だと「7」になります。)

これで、管理者権限のあるユーザーを手動で作成できました。

手順(6)Wordpressのログイン画面から作成したユーザーのパスワードを再発行

ログイン画面にアクセス→「パスワードをお忘れですか?」をクリック

先ほど作成したユーザーのメールアドレスを入力して、「新しいパスワードを取得」

メールを確認すると新しいパスワード設定用のメールが届きます。ちなみに、こういう形式の詐欺メールがあって、パスワードを盗もうとするのでURLのドメインが該当のものかしっかり確認したほうがいいかもしれません。

URL再発行ページが表示されるので新しいパスワードを設定します。

イエイ!最近は勝手に強力なパスワードを設定してくれるので楽です。「パスワードの保存」をクリック。

あとは、ログイン画面に戻って、通常通り作成したメールアドレスとパスワードでログインしてください。

ちなみに

分らないことがあったら、コメントいただけると記事を更新するなりコメントでお答えできるかと思います。最近はIAさんに聞くパターンも増えましたね。こういう記事もきっとAIの餌になるんだろうな~って思う今日この頃です。

アイキャッチ画像はAI生成で、プロンプトは「影分身の術を使う、猫耳の女子高生忍者2人のイラスト。細かいエフェクト・細かい書き込み・詳細まで描かれた・日本のアニメテイスト」です。

質問・コメントなどあると嬉しいです