DZ论坛用户无法登录,DZ存在用户,而UC没有,最简单的解决办法

2013-03-19 05:40:52
站长技术宅Discuz!

登陆Discuz论坛失败提示
突然由用户反应无法登录论坛了,用户名和密码都正确,一查用户资料页也可以访问,而UC里却没有该用户的信息。怎么办呢?

这里提供一条我之前用过的非常简单的方法,只需进入数据库管理,执行以下两条语句即可:

温馨提示:数据库操作有风险,建议您提前备份好用户数据,并在人少的时候执行。

insert into pre_ucenter_members
(uid,username,password,email,myid,myidkey,regip,regdate,lastloginip,lastlogintime,salt)
select uid,username,md5(concat(md5('123456'),'123456')),email,'0','0','0.0.0',regdate,'123','123456','123456'
from pre_common_member where uid not in (select uid from pre_ucenter_members );



insert into pre_ucenter_memberfields (uid,blacklist)
select uid,'' from pre_common_member   where uid not in (select uid from pre_ucenter_memberfields);

语句的作用就是把DZ论坛有记录,而UC不存在账户的这部分的用户信息导入到UC,由于密码只有UC里有,DZ没有,所以导入的同时,将这部分用户的密码自动重置为123456,那么以后再遇到反映问题的用户,提示他们用新密码登录就可以了。


有一种情况,如果发现DZ和UC用户数据不同步的问题,距离出现问题的时间已经很久了。可能有部分用户发现无法登陆时,用自己原来的 用户名,重新注册了(由于UC没有这部分用户的资料,所以即使DZ有,注册时,也不会显示 用户名已被占用 的提示)。那么直接执行上面的语句,可能会造成部分用户名重叠,导致这部分用户登陆异常。不用着急,稍微修改一下上面的语句即可:


insert into pre_ucenter_members
(uid,username,password,email,myid,myidkey,regip,regdate,lastloginip,lastlogintime,salt)
select uid,username,md5(concat(md5('123456'),'123456')),email,'0','0','0.0.0',regdate,'123','123456','123456'
from pre_common_member where uid not in (select uid from pre_ucenter_members ) and username not in (select username from pre_ucenter_members );

第二句和上面一样。


最后,提醒大家进行论坛升级,操作数据库等操作前,使用批量操作用户数据的插件时,一定要提前备份自己的DZ和UC数据,操作完成后,马上检查用户数据是否有异常,建立一个QQ群,确保用户有问题,能马上联系技术人员。养成好习惯,出现再多的问题,也不怕。


共享许可 无,请勿转载
1楼 草根站长
DZ有腾讯撑着,什么都不愁呀
2013-03-20 15:26:25
 

搜索

卖萌机器人

上传图片
     
     
     
馒头饭 遵纪守法好榜样 萌化你生活,萌发正能量,我们爱卖萌!

Language/繁體/日語
 抽奖 举报 隐私
count