There is no database or anything at all at present, so it's a clean slate for development.

slapd.conf(5) will not be used at all. Only slapd-config will be used for configuring.

The only back-end that will be used is bdb.

The only replication mechanism is syncrepl in Provider Push mode of operation, ie.,
refreshAndPersist, which is initiated by a Consumer.(Consumer Pull mode of operation, ie. refreshOnly, will not be used at all.).So, once the Provider services the Consumer’s search request, Provider locally persists the synchronization search.There will be no maintaining of any Provider session log store.Thus only the Present phase of the refresh synchronization will be used.
(not the Delete phase at all).

Database creation will be performed off-line (to ensure database is not accessed while being created!).(not on-line).Thus the database creation tools that will be used are slapadd, slapcat, slaptest etc.
(not ldapadd, ldapmodify etc.)

In fact, there being no database to begin with, for slapadd I must use the "-b suffix" to specify which database to add entries to.slapadd -b bdb(not the "slapadd -n 0" parameter to specify the zero-th database.).

# Now start up the Master and a consumer/s;# also add the above LDIF to the first consumer, second consumer etc.# It will then replicate cn=config.# You now have N-Way Multimaster on the config database.

# We still have to replicate the actual data, not just the config;# so add to the master# (all active and configured consumers/masters will pull down this config,# as they are all syncing).# Also, replace all ${} variables with whatever is applicable to your setup:
BACKEND=bdbBASEDN="dc=ldapservice,dc=hq,dc=mycompany,dc=com"MANAGERDN="cn=Admins,$BASEDN"PASSWD=secretdn: olcDatabase={1}$BACKEND,cn=configobjectClass: olcDatabaseConfigobjectClass: olc${BACKEND}Config
olcDatabase: {1}$BACKENDolcSuffix: $BASEDNolcDbDirectory: ./dbolcRootDN: $MANAGERDNolcRootPW: $PASSWDolcLimits: dn.exact="$MANAGERDN" time.soft=unlimited time.hard=unlimited size.soft=unlimited olcSyncRepl:

# Note: All of your servers' clocks must be tightly synchronized using e.g. NTP.# Note: URLs specified in olcSyncRepl directives are the servers URLs to replicate from.# These must exactly match the URLs slapd listens on (-h in Command-Line Options).
# Otherwise slapd may attempt to replicate from itself, causing a loop.

(3) Where It's Failing:=================I first executed the following:

slapadd -v -F /usr/local/etc/openldap/slapd.d -b bdb -l mmr.ldif

But that was a fiasco, saying "slapadd: slap_init invalid suffix ("bdb") ".So I suppose I must create the database beforehand?

So then I created the database (by running slapd using slapd.conf with "database config" and "rootpw config" directives commented out); then I stopped the slapd service and executed the following:
slapadd -v -F /usr/local/etc/openldap/slapd.d -n 0 -l mmr.ldifThat failed too, saying "slapadd: could not add entry dn="cn=config" (line=1)".

'-n dbnum Add entries to the dbnum-th database listed in the
configuration file. The -n cannot be used in conjunction with the -b
option. To populate the config database slapd-config(5), use -n 0 as it
is always the first database. It must physically exist on the
filesystem prior to this, however.'