お問い合わせはコチラから

MySQLでwordpressの管理者ユーザーを作成する

サイト運営

WordPressのログインパスワードを忘れた時に、MySQLからパスワードを変更するのは結構簡単です。

しかし、管理者権限のユーザーを新規に作ろうとすると、phpMyAdminだと設定項目が多くてチョット嫌になるレベルです。

そこで、SQLコマンドで一気にやってしまうというのがこの記事の内容です。

新規ユーザーの追加コマンド

VLUES()の中の‘your username’‘your password’は最低でも書き換えないといけません。他は後から変更しても良いでしょう。

環境によって、接頭辞が異なる場合がありますので、実際のDBのテーブルの名前は事前に確認した方が良いです。

環境による違いに注意!
  • wp_usersがwp1_usersなど違うことがあります。
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`) VALUES ('your username', MD5('your password'), 'your firstname & your lastname', 'your email', '0');

SQLを実行すると、user_registeredが無いというエラーになる場合があります。

その場合は、user_registeredの項目を追加して、テキトウな日時を設定する以下のバージョンで対応します。

INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`, 'user_registered') VALUES ('your username', MD5('your password'), 'your firstname & your lastname', 'your email', '0','2022-09-01 00:00:00');

新規ユーザーに管理者権限を与えるコマンド

最後に追加されたユーザーの権限を管理者権限に変更するコマンドになっています。

このコマンドを先に実行してしまうと、別のユーザーの権限が変更されてしまいますので注意しましょう。

環境によって、接頭辞が異なる場合がありますので、実際のDBのテーブルの名前は事前に確認した方が良いです。

環境による違いに注意!
  • wp_usermetaがwp1_usermetaなど違うことがあります。
  • wp_usersがwp1_usersなど違うことがあります。
  • wp_capabilitiesがwp1_capabilitiesなどと違うことがあります。
  • wp_user_levelがwp1_user_levelなどと違うことがあります。

wp_capabilitiesとwp_user_levelの名前が間違っていると、ログインした後にダッシュボードが表示されません。

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');

追加したユーザーでブロックエディタでブロックが表示されない

追加したユーザーでページや投稿をブロックエディタで編集すると、全く動きません。

ブロックを読み込みエラーになるようです。

これは致命的です。

原因はよくわかりませんが、Wordpressのダッシュボードから別のユーザーを追加すると普通にブロックエディタが動くので、MySQL経由で追加する時に、何かが不足しているのだと思います。

今回のユーザー追加はあくまで、ダッシュボードにアクセスできるように一時的に追加するイメージなので、ダッシュボードにアクセスできれば、目的達成ですので、ダッシュボードからユーザーを作り直せば解決します。

番外編:FTPアカウントだけでユーザーパスワードを変更する

FTPアカウントしかわからない状態で、DB内部のパスワードを書き換える方法については以下を参照してください。

まとめ

管理者ユーザーを追加する方法は、検索すると出てくるのですが、そのままやってもうまくいかないことが多いです。

その理由は、DBのテーブル名がサイトごとに異なるからです。たまたま検索したサイトと同じ場合は上手くいくのですが、そうじゃない場合はユーザー追加できても管理者権限にならないので、ダッシュボードが表示されなくなります。

そこだけ注意すれば、どの方法でもうまく追加できる、逆に言えばどの方法でもそこがネックになるのですが、MySQLのクエリを使った方がイライラしませんという話でした。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました