问题描述:ucenter数据丢失,以前的备份太早,导致uc里会员丢失1000多人,论坛后台会员信息存在,空间商无备份
尝试解决:
(1)Discuz!官方站MJJ的导入程序【针对6.1版本的 ,对X1.5不可用】
(2)官方帮助文档里的修复工具【依然是版本不匹配,无法使用】
(3)tools工具UID同步【体哥说可以试一下,结果没成功】
自己的办法:
因为uc明显比论坛少了一批用户,所以必须把这些用户添加进来。
添加的时候需要保持论坛后台用户和uc后台用户的UID是一致的
(不要以为默认的就是一致的,由于删除过用户什么的,往往导致两者是不一致的)
而且密码(password)这一项是没有办法添加的,第一我不知道用户的密码是什么,第二UC会将密码MD5加密。所以密码索性就设置为空,即不导入密码。
所以需要导入的只需UID、用户名(username)、邮箱(email)三项就可以了(其他信息可以让会员将来重置)
但是考虑手动添加的话工作量太大
所以一直寻求可以批量添加的方法
结果查了一些资料,结合自身数据库情况,写了如下语句:
- INSERT INTO`wenliren`.`uc_members` (
- `uid` ,
- `username` ,
- `email`
- )
- SELECT `uid`,`username`,`email` FROM `wenliren`.`pre_common_member` WHERE uid>27742 AND uid<31312
复制代码
其中:`wenliren`为数据库名;`uc_members`为ucenter用户数据表;`uid` ,`username` ,`email` 为对应的三项表头;`pre_common_member`为论坛会员数据表;最后WHERE 的范围可以自己选定,如果发生问题的时候已经控制不再有新注册用户的话,可以不设定上限。
进入网站的PHPmyadmin后台,进入Mysql管理,使用“SQL查询”,贴上以上代码(记得要替换自己的信息),执行。
这样,就完成了论坛数据表到ucenter数据的导入了。
PS:如果有人尝试的话,请做好数据表备份!
后续工作:选取这些会员,发送站点通知。通知选用Email发送,内容当然是提醒会员重置密码。