如何将 RadiusManage 的用户导入新版的神行者专版计费
RadiusManage 使用了 freeradius 作为主要的认证计费引擎,他直接集成freeradius的数据库表结构,由于其特殊性,在RadiusManage的用户表中并没有存储用户密码,而界面上导出的用户也不包含密码,这为迁移数据造成了一定的障碍,迁移数据时根本搞不清楚密码到底存在哪里,怎么导出。
为了解决这个问题,我们提供了一个比较便捷的方法来导出RadiusManage的数据,并且直接导出成神行者专版计费的模板格式,可以轻松地进行二次整理再导入系统。
连接数据库
使用MySQL客户端连接你的 RadiusManage 数据库, 或者将RadiusManage的数据库完整备份导入你本地测试的MySQL服务器,好处是在做数据查询操作时不影响生产环境,也不用担心误操作引发故障。
导出区域数据
RadiusManage 里并没有组织区域的概念,这里我们将用户组导出为区域数据,通过以下SQL脚本来查询并导出数据:
select
"NA" as parent_node_id,
"1000" as node_id,
rg.groupid as area_id,
rg.groupname as area_name,
rg.descr as node_desc,
"NA" as node_code,
"NA" as manager,
"NA" as phone,
"NA" as address,
"NA" as buss_time
from rm_usergroups rg
注意这里导出的仅仅是区域数据,你还需要对数据进行整理,手工添加一个ID为1000的组织作为所有区域的归属节点,注意不要修改或删除区域ID,因为区域ID已经被用户关联,修改或删除会破坏数据关联。
导出商品数据
RadiusManage 有一个服务表,每个用户都关联到一个服务,我们可以将他导出为商品表,通过以下SQL脚本来查询并导出数据:
select
1000 as node_id,
"" as service_id,
rs.srvid as product_id,
rs.srvid as product_code,
rs.srvname as product_name,
"0.00" as price,
"time" as acct_type,
"m" as acct_cycle,
"0" as flow_amount,
"enabled" as service_status,
0 as is_pub,
"2020-12-30" as expire_date,
CONCAT(rs.descr," CUSt_ATTR=> ",rs.custattr) as remark
from rm_services rs;
导出的商品ID即原RadiusManage 的服务ID,所有商品归属与ID为1000的组织,在神行者计费专版中,商品还需要有归属服务,请参考《神行者专版计费业务概念》, 因此还需要对这些原始数据进行整理,请尽量参考模板格式,注意不要改动或删除商品id,因为这些ID被用户关联,改动或删除会破坏数据关联
导出用户数据
导出用户数据时,我们结合已有的用户组表,服务表,用户表,freeradius的表进行关联查询导出,导出的格式遵循神行者计费专版的用户导入模板。通过以下SQL脚本来查询并导出数据:
select
0 as userid,
1000 as node_id,
ru.groupid as area_id,
ru.srvid as product_id,
ru.firstname,
"" as idcard,
ru.mobile,
ru.address,
"enabled" as status,
CONCAT(ru.createdon ," 00:00:00") as create_time,
ru.expiration,
"0.00" as banlance,
ru.username,
rc.value as passwd,
1 as online_limit,
0 as flows,
round(ru.uplimit / 1024,2) as up_rate,
round(ru.downlimit /1024,2) as down_rate,
"" as up_code,
"" as down_code,
"" as domain,
"" as policy,
"" as proxy_user,
"" as proxy_pwd,
ru.`comment`
from rm_users ru, radcheck rc
where ru.username = rc.username
and rc.attribute = "Cleartext-Password"
注意,用户ID,请通过Excel来自动生成连续不重复的ID,其他的数据,请根据实际情况进行调整。
通过神行者专版计费的导入模板进行综合调整,使数据最终符合倒入要求,在整理的过程中,也可以清理掉一些无效的数据。
具体流程请参考《神行者专版计费数据导入》
登录后方可回帖