Hi,
first of all, I'm newbie in LDAP too, but I think that under root you're using different type of authentication. Maybe you can post your commands, so we can see what are you actually doing.
From my experience: if you use parameters "-Y EXTERNAL" you're authenticate as actual Linux user. But when you're using "-D "cn=admin,dc=example,dc=com" " you'll authenticate as LDAP's "admin" user. If you want to add new database (to cn=config), you will probably need Linux root user. But when you want to modify database, you need LDAP's admin user (at least this is the way I understand LDAP).
Best regards
Martin Stejskal