《Linux/UNIX OpenLDAP实战指南》——2.8 OpenLDAP索引

简介: 本节书摘来自异步社区《Linux/UNIX OpenLDAP实战指南》一书中的第2章,第2.8节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看

本节书摘来自异步社区《Linux/UNIX OpenLDAP实战指南》一书中的第2章,第2.8节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.8 OpenLDAP索引

2.8.1 索引介绍
OpenLDAP索引(index)可以提高用户对OpenLDAP目录树查询的速度,减轻OpenLDAP服务器的压力,提高性能。那么如何创建OpenLDAP 索引呢?

可通过ldapmodify命令完成索引的创建和修改。下面通过为olcDatabase={2}hdb数据库文件创建一个“sn pres,eq,sub”索引来进行介绍。

2.8.2 创建索引
要创建索引具体步骤如下。

1)通过ldapsearch命令查看当前olcDatabase={2}hdb有哪些索引。

[root@mldap01 cn=config]# ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config  
                     '(olcDatabase={2}bdb)' olcDbIndex
dn: olcDatabase={2}bdb,cn=config
olcDbIndex: objectClass pres,eq
olcDbIndex: cn pres,eq,sub
olcDbIndex: uid pres,eq,sub
olcDbIndex: uidNumber pres,eq
olcDbIndex: gidNumber pres,eq
olcDbIndex: loginShell pres,eq
olcDbIndex: ou pres,eq,sub
olcDbIndex: mail pres,eq,sub
olcDbIndex: givenName pres,eq,sub
olcDbIndex: memberUid pres,eq,sub
olcDbIndex: nisMapName pres,eq,sub
olcDbIndex: nisMapEntry pres,eq,sub

上述结果显示当前数据库文件没有关于“sn pres,eq,sub”索引的信息。

2)创建一个ldif文件,用于存放索引命令。

[root@mldap01 cn=config]# cat >> hdb-index.ldif << EOF
dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: sn pres,eq,sub
EOF

3)通过ldapmodify命令创建olcDatabase={2}hdb数据库相关索引条目。

[root@mldap01 ~]# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f hdb-index.ldif 
modifying entry "olcDatabase={2}bdb,cn=config"

4)通过ldapsearch进行验证,是否“sn pres,eq sub”添加成功。

[root@mldap01 ~]# ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config   
                        '(olcDatabase={2}bdb)' olcDbIndex | grep -i 'sn' 
olcDbIndex: sn pres,eq,sub

从上述结果得知,索引添加成功。后期针对OpenLDAP服务器性能监控,适当添加索引,不仅能提高查询请求,还能提高服务器的性能。

相关文章
|
26天前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
26 0
|
3月前
|
Unix Shell Linux
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
26 2
|
3月前
|
Unix Shell Linux
在Linux和类Unix系统中,Shell提供了多种命令用于用户和权限管理
在Linux和类Unix系统中,Shell提供了多种命令用于用户和权限管理
35 4
|
1月前
|
Oracle Ubuntu Unix
Unix与Linux区别
Unix: Unix是一个操作系统家族的名称,最早由贝尔实验室(Bell Labs)的肖像电机公司(AT&T)开发。最早的Unix版本是在1969年创建的。 Linux: Linux是由芬兰计算机科学家Linus Torvalds在1991年创建的。它是作为一个免费、开放源代码的Unix克隆而开始的。
19 1
|
2月前
|
Unix Shell Linux
在Unix/Linux Shell中,管道(`|`)和重定向
在Unix/Linux Shell中,管道(`|`)和重定向
22 1
|
2月前
|
存储 关系型数据库 MySQL
MySQL 数据库系列(五)-----索引、事务与存储引擎(Linux版)
MySQL 数据库系列(五)-----索引、事务与存储引擎(Linux版)
28 0
|
3月前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
3月前
|
Ubuntu Unix Linux
Unix/Linux操作系统的最强入门科普(经典)
Unix/Linux操作系统的最强入门科普(经典)
50 0
|
3月前
|
网络协议 Unix Linux
在Unix/Linux shell中,与网络相关的命令
在Unix/Linux shell中,与网络相关的命令
24 2
|
4月前
|
缓存 网络协议 Unix
Linux(UNIX)五种网络I/O模型与IO多路复用
Linux(UNIX)五种网络I/O模型与IO多路复用
107 0