我已经将这个问题发布在dba.stackexchange.com但它被认为是离题的,人们建议我应该将它发布在这里,所以我将它发布在这里。
我已经openldap
启动并运行了一台服务器ubuntu 14.10
,并且我已经成功地DIT
使用以下命令将 a 添加到其中ldif
:
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=example,dc=com
olcRootDN: cn=Manager,dc=example,dc=com
olcRootPW: secret
olcDbIndex: objectClass eq
为了测试多个,DITs
我尝试使用另一个添加另一个数据库ldif
:
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=example1,dc=com
olcRootDN: cn=Manager,dc=example1,dc=com
olcRootPW: secret
olcDbIndex: objectClass eq
一开始一切似乎都很顺利,但是当我尝试搜索我的第一个数据库时,出现以下错误:
result: 80 Other (e.g., implementation specific) error
text: internal error
由于对这个错误感到困惑,我运行了它slapd -d
,得到了以下结果:
bdb(dc=example,dc=com): BDB0060 PANIC: fatal region error detected; run recovery
我甚至安装db-utils
并运行了它,db_recover
但还是没有成功。问题是我的openldap
服务器出了什么问题?
答案1
我猜主要错误在于您olcDbDirectory
对两个 DIT 使用了相同的内容。尝试使用不同的目录来存储数据(您可能需要清除当前数据并重新开始)。