Shanghai WTO Forum

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1400|回复: 0

Discuz论坛会员导入到ucenter

[复制链接]
发表于 2023-10-29 23:29:20 | 显示全部楼层 |阅读模式
Discuz论坛会员导入到ucenter,针对备份论坛但是没有备份ucenter导致会员丢失的解决方法

声明:此方法已经在本站验证可行。我们的DZ版本是:        Discuz! X3.4 R20230520 UTF8 , UCenten为:UCenter 1.7.0 Release 20231001

问题描述:经过几次程序升级后,ucenter数据丢失,以前的备份太早,导致uc里会员丢失好几千人,论坛后台会员信息存在,空间商无备份。
数据库.gif

办法:

因为uc明显比论坛少了一批用户,所以必须把这些用户添加进来。

1、添加的时候需要保持论坛后台用户和uc后台用户的UID是一致的
(不要以为默认的就是一致的,由于删除过用户什么的,往往导致两者是不一致的)
前后不一致的话,会导致数据库SQL执行时一直出错,最后我只能再添加了语句 INSERT IGNORE,只要前后不一致,就忽略。

2、密码(password)这一项是没有办法添加的,第一我不知道用户的密码是什么,第二UC会将密码MD5加密。所以密码索性就设置为空,即不导入密码。

所以需要导入的只需UID、用户名(username)、邮箱(email)三项就可以了(其他信息可以让会员将来重置)


代码如下:

  1. INSERT IGNORE INTO `你的数据库名`.`uc_members` (   
  2. `uid`,   
  3. `username`,   
  4. `email`   
  5. )   
  6. SELECT `uid`, `username`, `email`     
  7. FROM `你的数据库名`.`pre_common_member`     
  8. WHERE uid > 3(把3改为需要添加的UID起始编号地址,然后删除此括号) AND uid < 81524 (同理,这是终止UID号)   
  9. AND uid NOT IN (SELECT uid FROM uc_members);
复制代码

意思就是:把论坛会员表  `pre_common_member  倒入uc的会员表 uc_members 里。

注意:你的数据库名、论坛会员表pre_common_member 和UC会员表的表格uc_members,必须换回自己的。

进入网站的PHPmyadmin后台,进入Mysql管理,使用“SQL查询”,贴上以上代码(记得要替换自己的信息),执行。
这样,就完成了论坛数据表到ucenter数据的导入了。
PS:如果有人尝试的话,请做好数据表备份!

后续工作:选取这些会员,发送站点通知。通知选用Email发送,内容当然是提醒会员重置密码。



您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|Archiver|mobile|The little black house|Shanghai WTO Net ( 沪ICP备10034107号-3 )

GMT+8, 2024-4-28 03:06

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表