> make test
> make[1]: Entering directory `/ldap_files/openldap-2.4.6/tests'
> make[2]: Entering directory `/ldap_files/openldap-2.4.6/tests'
-> Initiating LDAP tests for BDB...
+> Initiating LDAP tests for MDB...
> Cleaning up test run directory leftover from previous run.
> Running ./scripts/all...
-> >>>>> Executing all LDAP tests for bdb
+> >>>>> Executing all LDAP tests for mdb
> >>>>> Starting test000-rootdse ...
> running defines.sh
> Starting slapd on TCP/IP port 9011...
> ldap_sasl_bind_s: Can't contact LDAP server (-1)
> >>>>> Test failed
> >>>>> ./scripts/test000-rootdse failed (exit 1)
-> make[2]: *** [bdb-yes] Error 1
+> make[2]: *** [mdb-yes] Error 1
> make[2]: Leaving directory `/ldap_files/openldap-2.4.6/tests'
> make[1]: *** [test] Error 2
> make[1]: Leaving directory `/ldap_files/openldap-2.4.6/tests'
CA's
CAs
namingContext
+mdb
+lmdb
typically three times the {{cachesize}} (entry cache size) or larger.
Note: The {{hdb}} backend has superseded the {{bdb}} backend, and both will
-soon be deprecated in favor of the new {{mdb}} backend. See below.
+are deprecated in favor of the new {{mdb}} backend. See below.
H3: back-bdb/back-hdb Configuration
H3: Database Software
-OpenLDAP's {{slapd}}(8) {{TERM:BDB}} and {{TERM:HDB}} primary database backends
+OpenLDAP's {{slapd}}(8) {{TERM:MDB}} primary database backend uses the {{LMDB}}
+software included with the OpenLDAP source. There is no need to download any
+additional software to have {{MDB}} support.
+
+OpenLDAP's {{slapd}}(8) {{TERM:BDB}} and {{TERM:HDB}} depricated database backends
require {{ORG[expand]Oracle}} {{PRD:Berkeley DB}}.
If not available at configure time, you will not be able to build
{{slapd}}(8) with these primary database backends.
There are several versions available. Generally, the most recent
release (with published patches) is recommended. This package is required
-if you wish to use the {{TERM:BDB}} or {{TERM:HDB}} database backends.
+if you wish to use the deprecated {{TERM:BDB}} or {{TERM:HDB}} database backends.
Note: Please see {{SECT:Recommended OpenLDAP Software Dependency Versions}} for
more information.
> ./configure [options] [variable=value ...]
As an example, let's assume that we want to install OpenLDAP with
-BDB backend and TCP Wrappers support. By default, BDB
+MDB backend and TCP Wrappers support. By default, MDB
is enabled and TCP Wrappers is not. So, we just need to specify
{{EX:--enable-wrappers}} to include TCP Wrappers support:
and how much of that change an administrator might be willing to lose in a
catastrophic failure. There are two basic methods that can be used:
-1. Backup the Berkeley database itself and periodically back up the transaction
+1. Backup the LMDB database itself
+
+The LMDB database can be copied live using the mdb_copy command. If the database
+is a sparse file via the use of the "writemap" environment flag, the resulting
+copy will be the actual size of the database rather than a sparse copy.
+
+2. Backup the Berkeley database itself and periodically back up the transaction
log files:
Berkeley DB produces transaction logs that can be used to reconstruct
overhead.
-2. Periodically run slapcat and back up the LDIF file:
+3. Periodically run slapcat and back up the LDIF file:
Slapcat can be run while slapd is active. However, one runs the risk of an
inconsistent database- not from the point of slapd, but from the point of
add up to a substantial amount of space.
You can use {{slapcat}}(8) to generate an LDIF file for each of your {{slapd}}(8)
-back-bdb or back-hdb databases.
+back-mdb, back-bdb, or back-hdb databases.
> slapcat -f slapd.conf -b "dc=example,dc=com"
-For back-bdb and back-hdb, this command may be ran while slapd(8) is running.
-
-MORE on actual Berkeley DB backups later covering db_recover etc.
+For back-mdb, back-bdb, and back-hdb, this command may be ran while slapd(8) is running.
H2: Berkeley DB Logs
> monitoredInfo: monitor
> monitoredInfo: bdb
> monitoredInfo: hdb
+> monitoredInfo: mdb
This indicates the {{config}}, {{ldif}}, {{monitor}}, {{bdb}},
and {{hdb}} backends are available.
> supportedControl: 1.3.6.1.4.1.4203.1.10.1
> supportedControl: 1.2.840.113556.1.4.1413
> supportedControl: 1.3.6.1.4.1.4203.666.11.7.2
+>
+> dn: cn=Backend 5,cn=Backends,cn=Monitor
+> monitoredInfo: mdb
+> monitorRuntimeConfig: TRUE
+> supportedControl: 1.3.6.1.1.12
+> supportedControl: 2.16.840.1.113730.3.4.2
+> supportedControl: 1.3.6.1.4.1.4203.666.5.2
+> supportedControl: 1.2.840.113556.1.4.319
+> supportedControl: 1.3.6.1.1.13.1
+> supportedControl: 1.3.6.1.1.13.2
+> supportedControl: 1.3.6.1.4.1.4203.1.10.1
+> supportedControl: 1.2.840.113556.1.4.1413
+> supportedControl: 1.3.6.1.4.1.4203.666.11.7.2
For each of these objects, monitorInfo indicates which backend the
information in the object is about. For instance, the {{EX:cn=Backend
-3,cn=Backends,cn=Monitor}} object contains (in the example) information
-about the {{bdb}} backend.
+5,cn=Backends,cn=Monitor}} object contains (in the example) information
+about the {{mdb}} backend.
!block table
Attribute|Description