网页开发

星期一, 12 4月 2021 20:18

UC备份丢失,Discuz论坛会员导入到ucenter的解决方法 (Discuz)

Written by 

Discuz论坛的会员保存在ucenter里面,跟DZ论坛是分开的。很多人搬家时忘了备份UCENTER数据。只备份了DZ论坛。结果搬家后发现会员登陆不上,会员数据丢失,如果旧的数据库没删除还好。如果空间被删。那基本找不回了。

然后还有一种情况,就是弃用无用的会员数据。只保留活跃会员 也可操作。

 

【特别针对:针对备份论坛但是没有备份ucenter导致会员丢失】

放弃所有会员的密码。直接只导入DZ论坛的 用户名 跟邮箱 到 UCENTER里面。然后发站内通知 公告:提醒会员根本注册时的邮箱找回密码。  甚至有条件可以群发邮件给会员。

 

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

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

但是考虑手动添加的话工作量太大

所以一直寻求可以批量添加的方法

结果查了一些资料,结合自身数据库情况,写了如下语句:

 

INSERT INTO`mysqlsjk1`.`uc_members` (

`uid` ,

`username` ,

`email`

)

SELECT `uid`,`username`,`email` FROM `wenliren`.`pre_common_member` WHERE uid>1 AND uid<60000

 

其中:

`mysqlsjk1`为数据库名;

`uc_members`为ucenter用户数据表;`uid` ,`username` ,`email` 为对应的三项表头;

`pre_common_member`为论坛会员数据表;

最后WHERE 1 到 60000 的范围可以自己选定,如果发生问题的时候已经控制不再有新注册用户的话,可以不设定上限。

 

进入网站的PHPmyadmin后台,进入Mysql管理,使用“SQL查询”,贴上以上代码(记得要替换自己的信息),执行。

这样,就完成了论坛数据表到ucenter数据的导入了。

PS:如果有人尝试的话,请做好数据表备份!

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

 

 

 

 

 

 

完了后自行注册个新会员试试,提示XXX ID已存在。就去数据库里检查Discuz和UC的用户表member,保持uid的递增值,改成一样大

阅读 2028 times

关于CNERIS

CNERISYIF LINE公司的旗舰项目. 他是由IT行业不同区域的顶尖专家组成的. 我们的团队包括程序员,系统管理员,平面设计师, ERP集成服务。