登陆不了的是因为没有数据转换
Mambo4.5.4 和 Discuz4.1用户数据转换
根据您的需要,从下面两种方法中选择一种进行用户数据转换
表前缀的约定:在这里,使用系统默认的数据库表前缀,Mambo 的表前缀为 mos_ , Discuz 的表前缀为 cdb_ 。
如果你的表前缀不同,请把以下的表前缀改为你实际的表前缀。
1. Mambo 转到 Discuz
此转换方法以 Mambo 的用户数据为主,原 Discuz 的用户数据将被删除,然后把 Mambo 的用户数据导入 Discuz 中。
使用方法:一次执行以下 1.1 - 1.3 的 SQL 语句
#1.1 删除 Discuz 用户表记录
DELETE FROM cdb_members;
DELETE FROM cdb_memberfields;
#1.2 把 Mambo 用户表 mos_users 记录插入到 Discuz 用户表 cdb_members 中
SELECT @groupid := groupid FROM cdb_usergroups WHERE creditshigher<=0 AND 0<creditslower ORDER BY groupid ASC LIMIT 1;
INSERT INTO cdb_members (uid, username, password, secques, groupid, extgroupids, regip, regdate, lastvisit, lastactivity, email, dateformat, showemail, newsletter, timeoffset )
SELECT id, username, password, '', CASE `block` when 0 then @groupid ELSE 8 END, '', '', UNIX_TIMESTAMP(registerDate), UNIX_TIMESTAMP(lastvisitDate), UNIX_TIMESTAMP(lastvisitDate), email, '', '1', '1', '9999' FROM mos_users;
INSERT INTO cdb_memberfields (uid) SELECT id FROM mos_users;
#1.3 设置 mambo 的第一个超级管理员为 Discuz 管理员
SELECT @id := id FROM mos_users WHERE gid=25 ORDER BY id ASC LIMIT 1;
UPDATE cdb_members SET adminid=1, groupid=1 WHERE uid=@id;
2. Discuz 转到 Mambo
此转换方法以 Discuz 的用户数据为主,原 Mambo 的用户数据将被删除,然后把 Discuz 的用户数据导入 Mambo 中。
使用方法:一次执行以下 3 项 SQL 语句
#2.1 删除 Mambo 用户表记录
DELETE FROM mos_users;
DELETE FROM mos_core_acl_aro;
DELETE FROM mos_core_acl_groups_aro_map;
#2.2 把 Discuz 用户表 cdb_members 记录插入到 Mambo 用户表 mos_users 中
INSERT INTO mos_users (id, name, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate, activation, params)
SELECT uid, username, username, email, password, "", 0, CASE `groupid` WHEN 4 THEN 1 WHEN 5 THEN 1 WHEN 6 THEN 1 WHEN 8 THEN 1 ELSE 0 END, 18, FROM_UNIXTIME(regdate), FROM_UNIXTIME(lastvisit), "", "" FROM cdb_members;
INSERT INTO mos_core_acl_aro (section_value, value, order_value, name, hidden)
SELECT "users", id, 0, name, 0 FROM mos_users;
INSERT INTO mos_core_acl_groups_aro_map (group_id, section_value, aro_id)
SELECT 18, '', aro_id FROM mos_core_acl_aro;
#2.3 设置 Discuz 的第一个管理员 Mambo 超级管理员
SELECT @id := uid FROM cdb_members WHERE adminid=1 AND `groupid`=1 ORDER BY uid ASC LIMIT 1;
SELECT @aro_id := aro_id FROM mos_core_acl_aro WHERE value=@id;
UPDATE mos_users SET usertype='Super Administrator', gid=25 WHERE id=@id;
UPDATE mos_core_acl_groups_aro_map SET group_id=25 WHERE aro_id=@aro_id;