Forum Replies Created

Viewing 3 replies - 1 through 3 (of 3 total)
  • Thread Starter hosaka

    (@hosaka)

    @takahashi_fumiki

    DBを参照し無事に復旧することができました。

    以下、復旧に際する条件や対応方法などとなります。
    ※誤っておりましたらご指摘ください。
    ※DB名やテーブル名などは適宜環境に合わせて読み替えてください。

    【復旧条件】

    ?Gianism削除前にfacebookログインしていたユーザの情報
     → wp_users内にある ‘fb-‘ から始まる『user_nicename(ユーザー名)』が必要になります。

    ?facebookアプリより登録情報を消していない
     → 私の環境では残っていたため消してしまった場合の動作は未検証ですが @takahashi_fumiki 様よりいただいた情報を基に条件として定義させていただきます。

    【復旧方法】

    1. wp_users.user_nicename から ‘fb-‘ を含むユーザを抽出

    2. 該当ユーザの wp_usermeta に Gianism用の レコード(_wpg_facebook_id, _wpg_facebook_mail, _wpg_unknown_password)を挿入

    3. _wpg_facebook_id に wp_users.user_nicename の ‘fb-‘以降の数値を入れる

    4. _wpg_facebook_mail に wp_users.user_email を入れる

    5. _wpg_unknown_password に ‘1’ を入れる ※こちら解析不足ではありますが用途が不明だったためとりあえず ‘1’ にしました。

    6. 復旧完了

    以上となります。

    なお復旧手順はSQLで実現できました。※実行環境 MySql 5.5.61


    INSERT INTO wordpress.wp_usermeta (umeta_id, user_id, meta_key, meta_value) SELECT NULL, wp_usermeta.user_id, '_wpg_facebook_id', SUBSTRING(wp_users.user_nicename, 4) FROM wp_usermeta,wp_users WHERE wp_usermeta.user_id = wp_users.ID AND meta_key = 'nickname' AND user_nicename like 'fb-%';


    INSERT INTO wordpress.wp_usermeta (umeta_id, user_id, meta_key, meta_value) SELECT NULL, wp_usermeta.user_id, '_wpg_facebook_mail', wp_users.user_email FROM wp_usermeta,wp_users WHERE wp_usermeta.user_id = wp_users.ID AND meta_key = 'nickname' AND user_nicename like 'fb-%';


    INSERT INTO wordpress.wp_usermeta (umeta_id, user_id, meta_key, meta_value) SELECT NULL, wp_usermeta.user_id, '_wpg_unknown_password', '1' FROM wp_usermeta,wp_users WHERE wp_usermeta.user_id = wp_users.ID AND meta_key = 'nickname' AND user_nicename like 'fb-%';

    この度は早急にお返事をいただくなど、復旧に際しご対応いただき誠にありがとうございました。
    こちらのトピックで今後同様の問題を抱える皆様のお役に立てれば幸いです。

    よろしくお願い申し上げます。

    Thread Starter hosaka

    (@hosaka)

    投稿した後思いましたが結局ご提案いただいた

    >ユーザー個人の紐付けに関しては、普通に[email protected]のWordPressアカウントでログインし、プロフィール画面から紐付けを行うことができます。

    >ただ、全員を一斉に行う方法はないので、登録ユーザー全員に周知する必要があります。

    とやってることは同じなんですかね

    Thread Starter hosaka

    (@hosaka)

    @takahashi_fumiki

    ご回答誠にありがとうございます。

    ひとつ気になったのですが、usermeta情報を手動で復元させれば再度ログインできるような気がしたのですが、可能でしょうか?

    仰る通りGianismに関するmeta情報はプラグイン削除によりすべて消えてしまっていますが、ユーザーデータ自体は残っており、ユーザ名にfacebook IDが用いられているため必要な情報は実はまだ残っていて復元ができるのではないかと思いました。
    (そもそも手動でusermetaが編集できるのかまでは存じておりませんが。。。)

    • This reply was modified 6 years, 2 months ago by hosaka.
Viewing 3 replies - 1 through 3 (of 3 total)