先ほどは失礼しました。
うっかり抜けていました。
以下のサイト等を参考にデータベースから直接ユーザーを追加したらどうなりますか?http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/
manboさん、度々有難うございます!
wp_usersの追加はうまくいったのですが
wp_usermetaの追加の際、こちらのようなエラーが出てしまいます。
INSERT INTO wp_usermeta
(umeta_id
, user_id
, meta_key
, meta_value
) VALUES (”, ’19’, ‘wp_capabilities’, ‘a:1:{s:13:\”administrator\”;s:1:\”1\”;}’), (”, ’19’, ‘wp_user_level’, ’10’)
MySQL のメッセージ: ドキュメント
#1062 – ‘0’ は索引 ‘PRIMARY’ で重複しています。
https://gyazo.com/175f731e83d8113458a8e8a9af9ad072
自動生成されるべきところが自動生成されていないのでしょうか……?
追加というのは何でしょうか?
インポートしているのでしょうか?
もしそうなら既存のwp_usermetaテーブルを削除してからインポートしていますか?
wp_usermeta
テーブルにuser_id
が19に対して、wp_capabilities
とwp_user_level
を手動で追加する場合のSQL文は、こうなります。umeta_id
は自動インクリメント(自動生成)で付与されます。
INSERT INTO wp_usermeta (user_id, meta_key, meta_value) VALUES (19, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'),(19, 'wp_user_level', '10')
@npssl さま
ご教示有難うございます。
しかしやはり、同様のエラーが出てしまいますね……。こちらのスクリーンショットのとおりです。
https://gyazo.com/d87fd6310d63e6c8844232c804dec1b9
逆を試した場合はどうでしょう。
現状のデータベースからからwp_options、wp_usermeta、wp_users以外を取り出して正常にログインできた時のデータベースに入れ込む形です。
@manbo さま
わかりずらく、すみません……。
現状手元にあるデータベースは、最新・最古いずれも異常が発生しています……。
(ログインできるユーザーとできないユーザーがいたので見落としていました)
> 5月8日時点(最古)のバックアップデータ自体を精査したところ、下記のような不都合が出ていることが判明したため、再投稿します。
ということです……。
現スレッドでの検証は
5月8日時点(最古)のバックアップデータ自体で行っています。
さてご教示頂いた方法は、どういった意図の検証でしょうか。
不都合の原因が
– wp_options
– wp_usermeta
– wp_users
にあるのか、それ以外にあるのかという検証でしょうか。
ということは、もしかしてクリーンインストールしたWordPressに不都合のあるDBより
– wp_options
– wp_usermeta
– wp_users
を入れてみれば、manboさまが意図なさっている検証ができるということでしょうか。
データベースのバックアップは全て正常ではないってことですか…
恐らくwp_usermetaとwp_optionsあたりに問題があると思うのですが
検証しても時間を要するだけですし、復旧は簡単ではないと思うので
いっそ真っ新な状態にして再設定した方が早いかもしれません。
wp_options、wp_usermeta、wp_usermetaのテーブルはデータベースからインポート対象外という前提で
・現状のデータベースをバックアップ
・ユーザー情報を記録 (ID番号必須 プラグインを使えば簡単に済む)
・wp_options、wp_usermeta、wp_users以外の必要なテーブルだけバックアップ★ (何を選択したか記録)
https://wordpress.org/plugins/options-importer/
・このプラグインでwp_optionsをエクスポート
・データベースのテーブルを全削除してWordPressを新規インストール
・全ユーザーを作成 (ID番号は以前と同じにする)
・この状態で念のためデータベースをバックアップ (失敗した際やり直しやすいよう)
・復元したいテーブルをデータベースから削除してバックアップ(★)をインポート
・この状態で念のためデータベースをバックアップ (失敗した際やり直しやすいよう)
・WP Options Importerだけ有効にしてwp_optionsをインポート (インポート項目は要精査?)
失敗防止のためwp_optionsをインポートするまでは他のプラグインは何も使わない方が良いかもしれません。
こんな感じでほぼ元通りに戻せると思うので、後は細かい設定等を見直せばOKだと思います。
> いっそ真っ新な状態にして再設定した方が早いかもしれません。
そうですよね……。
再構築の方法のご教示、本当に有難うございます。
特に、全ユーザーのidを以前と同じにするというところが非常に参考になります……!
余談ですが、下記のような検証を行ったところ
パターンA
クリーンインストールしたWordPressに
– wp_options
– wp_usermeta
– wp_users
のみ置換
パターンB
– wp_options
– wp_usermeta
– wp_users
「以外を」置換
パターンAは同様のログインできない事象が発生し
パターンBはログインできない事象は出ませんでした。
– wp_options
– wp_usermeta
– wp_users
どれかが破損しているのだろうという裏が取れました。
ご教示頂いた方法でおそらく成功するのではないかと思います。
@manbo さま
お陰様でご教示いただいた方法で解決しました。
本当にありがとうございました!!