Windows+OpenLDAP+MySQL配置及使用详解(二)——数据库初始化
2011-07-03 13:17
966 查看
现在我们了解一下数据库端的原理。
如果已经按照上一篇文章:“Windows+OpenLDAP+MySQL配置及使用详解(一)——基础配置”配置成功,在了解本篇文章内容之前,我们先将数据库中的测试数据清除掉:
1、删除原数据库中所有表格;
2、在下载的源码包中找到servers/slapd/back-sql/rdbms_depend/mysql目录,执行脚本backsql_create.sql 。
本文将通过一个例子讲解数据库结构。假设我们的LDAP服务端目录结构如下:
图一
首先给大家看一下,相应数据库结构:
图二
由图二看出,数据库中包括系统表格和自定义表格。系统表格是必须建立的表格,即backsql_create.sql脚本里的内容;自定义表格是根据实际的LDAP entry目录结构建立的相应的对象(Object)表,表格字段对应该对象的属性(Attribute)。
下面开始讲解怎样初始化数据库数据,使其能存储图一中的目录结构。
注:如果更改了系统表格中的数据,需要重启ldap服务才能生效。
1. 新增自定义表格:
自定义表格主要目的是为了存储同一类别的对象(object)数据,表格各个字段定义了对象类(objectClass)的属性。objectClass、object、attribute的概念都来自LDAP,下面都直接用英文表示,大家会比较清晰一些。
本例中,有如下objectClass:
一般情况下,每一个objectClass,我们为其创建一个自定义表格,每个字段对应该对象类的一个属性。根据上表,我们新建了organization,org_unit,users三个表,具体表结构参见图一。
2 在系统表ldap_oc_mappings中加入objectClass信息:
此表格中主要存储objectClass和对应的自定义表格的对应关系。
以下是表格各字段的详细介绍:
下面是本例中,往本表添加的数据:
3 在系统表ldap_attr_mappings中加入attribute信息:
此表格实际上就是建立LDAP中各attribute和数据库中objectClass的各个属性的关系。
此表格中sel_expr,from_tbls,join_where三个字段主要存储attribute如何通过SQL语句获取。
例如:获得某个attribute的SQL语句为:
SELECT CONCAT(a.column2,b.column2)
FROM a,b
WHERE a.column3=b.column1)
分别将SELECT,FROM,WHERE后面的语句存储到这三个字段里。
另外,param_order字段的含义目前还没搞清楚,官网给出的例子里,这个字段的值都是3,所以这里也都填3.
以下是表格各个字段的详细介绍:
以下是本例中,往本表添加的数据:
完成上面的操作后,目录结构的初始化工作完成。
如果已经按照上一篇文章:“Windows+OpenLDAP+MySQL配置及使用详解(一)——基础配置”配置成功,在了解本篇文章内容之前,我们先将数据库中的测试数据清除掉:
1、删除原数据库中所有表格;
2、在下载的源码包中找到servers/slapd/back-sql/rdbms_depend/mysql目录,执行脚本backsql_create.sql 。
本文将通过一个例子讲解数据库结构。假设我们的LDAP服务端目录结构如下:
图一
首先给大家看一下,相应数据库结构:
图二
由图二看出,数据库中包括系统表格和自定义表格。系统表格是必须建立的表格,即backsql_create.sql脚本里的内容;自定义表格是根据实际的LDAP entry目录结构建立的相应的对象(Object)表,表格字段对应该对象的属性(Attribute)。
下面开始讲解怎样初始化数据库数据,使其能存储图一中的目录结构。
注:如果更改了系统表格中的数据,需要重启ldap服务才能生效。
1. 新增自定义表格:
自定义表格主要目的是为了存储同一类别的对象(object)数据,表格各个字段定义了对象类(objectClass)的属性。objectClass、object、attribute的概念都来自LDAP,下面都直接用英文表示,大家会比较清晰一些。
本例中,有如下objectClass:
DN | objectClass |
dc=wfi,dc=wfiqa,dc=com | organization(组织) |
ou=users | organizationalUnit(组织内单元,本例中只有users这一个单元) |
uid=admin uid=user1 | inetOrgPerson(组织用户) |
2 在系统表ldap_oc_mappings中加入objectClass信息:
此表格中主要存储objectClass和对应的自定义表格的对应关系。
以下是表格各字段的详细介绍:
Column | Desc. |
id | objectClass的唯一标识 |
name | objectClass的名称 |
keytbl | 对应的自定义表格名称 |
keycol | 对应的自定义表格中关键字字段名称 |
create_proc | 新增一个object时使用的SQL语句 |
delete_proc | 删除一个object时使用的SQL语句 |
expect_return | 执行新增或删除object的SQL语句,代表操作成果的SQL CODE值,通常是0。 |
Column | Row1 | Row2 | Row3 |
id | 1 | 2 | 3 |
Name | organization | organizationalUnit | inetOrgPerson |
Keytbl | organization | org_unit | users |
Keycol | id | id | id |
create_proc | (稍后再讲) | ||
delete_proc | (稍后再讲) | ||
expect_return |
此表格实际上就是建立LDAP中各attribute和数据库中objectClass的各个属性的关系。
此表格中sel_expr,from_tbls,join_where三个字段主要存储attribute如何通过SQL语句获取。
例如:获得某个attribute的SQL语句为:
SELECT CONCAT(a.column2,b.column2)
FROM a,b
WHERE a.column3=b.column1)
分别将SELECT,FROM,WHERE后面的语句存储到这三个字段里。
另外,param_order字段的含义目前还没搞清楚,官网给出的例子里,这个字段的值都是3,所以这里也都填3.
以下是表格各个字段的详细介绍:
Column | Desc. |
id | attribute唯一标识 |
oc_map_id | 所属objectClass的唯一标识 |
name | Attribute名称 |
sel_expr | SELECT后面的SQL语句 |
sel_expr_u | 不清楚用途,本例中没有使用 |
from_tbls | FROM后面的SQL语句 |
join_where | WHERE后面的SQL语句 |
add_proc | 修改一个attribute值时使用的SQL语句 |
delete_proc | 删除一个attribute值时使用的SQL语句 |
param_order | 不清楚含义,但官网给出的例子中,这个字段的值全是3,所以本例中也将值设为3。 |
expect_return | 执行修改或删除attribute值的SQL语句,代表操作成果的SQL CODE值,通常是0。 |
Column | Row1 | Row2 | Row3 | Row4 | Row5 | Row6 | Row7 |
id | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
oc_map_id | 1 | 2 | 3 | 3 | 3 | 3 | 3 |
name | dc | ou | uid | sn | cn | userPassword | mail |
sel_expr | name | name | code | name_en | name_cn | password | email |
sel_expr_u | |||||||
from_tbls | organization | org_unit | users | users | users | users | users |
join_where | |||||||
add_proc | (稍后再讲) | ||||||
delete_proc | (稍后再讲) | ||||||
param_order | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
expect_return |
相关文章推荐
- Windows+OpenLDAP+MySQL配置及使用详解(二)——数据库初始化
- Windows+OpenLDAP+MySQL配置及使用详解(三)——LDAP数据的维护
- Windows+OpenLDAP+MySQL配置及使用详解(一)——基础配置
- Windows+OpenLDAP+MySQL配置及使用详解(三)——LDAP数据的维护
- Windows+OpenLDAP+MySQL配置及使用详解(一)——基础配置
- 数据库概述、mysql-5.7.11-winx64.zip 的下载、安装、配置和使用(windows里安装)图文详解
- MySQL5.5.22版本安装配置以及基本命令的使用和管理数据库备份与恢复操作详解
- Windows下MySQL下载与安装、配置与使用教程
- 【转载】Windows下MySQL绿色版安装配置与使用
- 《MySQL入门很简单》学习笔记(2)之第2章Windows平台下安装与配置MySQL(关键词:数据库/MySQL/Windows)
- Spring-Session配置,底层数据库使用Redis或Mysql
- Windows配置OpenLDAP(Configure OpenLDAP on Windows)
- Spring-Session配置,底层数据库使用Redis或Mysql
- Oracle数据库开发(一).Windows下配置使用ProC
- 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库
- qt在windows下使用mysql,提示有数据库,但就是连接不上
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- 在windows环境下使用命令行控制Mysql(二、报销表单初始化建立)
- Android数据库SQLite使用详解一 : SQLiteOpenHelper详解