liux:一卡通自建中间库对接方法

自建中间库就是在我们的nccs库中,新建一个Icsync表,单独把这表的增删改查的权限授权给对接的第三方平台。该表中有触发器,会自动同步表中的信息到User表中。

优点:操作简单,缺点:只做增量备份,同一个学工号如果更新卡号不会被更新,只能删掉该用户后,重新更新。

第一步:导入事先设计好的icsync.sql语句

mysql -u root -p < icsync.sql

icsync.new.rar

第二步:给中间库icsync.sql授权

grant select,update, insert,delete on nccs.IcSync to 'Hello'@'%' identified by "12345" ##表示运行任何ip地址都可以用户名Hello,密码12345去增删改查nccs库中的IcSync表
如果需要数据库所有权限可执行:
grant ALL PRIVILEGES ON  *.*  to ''Hello'@'%' identified by '12345';
flush privileges;  ##不重启数据库,立即生效

经过上述两步,表结构、触发器、授权相关工作就做完了。

查询表信息:

mysql> show columns from IcSync;
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| sn              | varchar(32) | NO   | PRI | NULL    |       |
| name            | varchar(32) | NO   |     | NULL    |       |
| card            | varchar(32) | YES  |     | NULL    |       |
| department_sn   | varchar(32) | YES  |     | NULL    |       |
| department_name | varchar(32) | YES  |     | NULL    |       |
| type            | varchar(32) | YES  |     | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+

查询触发器是否随数据库导入进去了:

最终提供给一卡通厂家的信息如下:

中间库信息

   ip:服务器IP
   数据库类型:mysql
   数据库名称:NCCS
   中间库账号:为了规范统一用BaseInfo表中313ID的前8位作为用户名
   中间库密码:为了规范统一用BaseInfo表中313ID的后8位作为密码
   表信息如下:
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| sn              | varchar(32) | NO   | PRI | NULL    |       |
| name            | varchar(32) | NO   |     | NULL    |       |
| card            | varchar(32) | YES  |     | NULL    |       |
| department_sn   | varchar(32) | YES  |     | NULL    |       |
| department_name | varchar(32) | YES  |     | NULL    |       |
| type            | varchar(32) | YES  |     | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+

其中:sn表示学工号,name表示姓名,card表示卡号, department_sn表部门编号(没有可不填),department_name表示部门名称,type=1(学生),2(老师),3(临时卡)

liux/一卡通自建中间库对接方法.txt · 最后更改: 2025/09/08 22:51 (外部编辑)