
Now, when creating the new database, remember to use the proper SQL schema!įor example, if you are using MySQL and choose the default schema, use mysql.sql. New_sql_schema top-level option: new_sql_schema: true To use the new schema, edit the ejabberd configuration file and enable However, if you have only one massive domain, you may prefer to use the default schema. Using this schema is preferable when serving several XMPP domains So it allows to handle several XMPP domains in a single ejabberd database. The new schema stores the XMPP domain in a new column server_host So in that case you may prefer the new schema. You have to setup one database per domain Is not stored as this is the same for all the accounts,Īnd this saves space in massive deployments. The default schema stores only one XMPP domain in the database. The new schema is preferable when serving many small domains. The default schema is preferable when serving one massive domain, There are two database schemas available in ejabberd: Relational Databases Default and New Schemas You can simplify the configuration by setting the default database.ĭefault_db: mnesia|sql: This will define the default database for a module lacking db_type option or if auth_method option is not set. Sql_database: database-public-example-org

Sections must be set inside a host_config for each vhost (see section For that purpose, the options described in the next Virtual host uses a different configuration of database, authenticationĪnd storage, so that usernames do not conflict and mix between different Important note about virtual hosting: if you define several domains inĮjabberd.yml (see section Host Names), you probably want that each If using MySQL or PostgreSQL, you can choose between theįor details on database schemas. In the ejabberd's installation path under /lib/ejabberd*/priv/sql If installing ejabberd from Process-One installer, the init scripts are located By default: /usr/local/lib/ejabberd/priv/sql If installing ejabberd from sources, you will find sql script for your backend You must create the schema before you run ejabberd. If you plan to use MySQL, PostgreSQL, MS SQL or SQLite, When using external database backend, ejabberd does not create schema and tablesīy itself.

Section for documentation about using LDAP. Check the tutorial Using ejabberd with MySQL

The following databases are supported by ejabberd: Storage systems for modules, and so forth. Mechanisms for the same virtual host (fallback), you can set different ejabberd is veryįlexible: you can configure different authentication methods forĭifferent virtual hosts, you can configure different authentication Server to store persistent, long-living data. Possible to use a relational database, key-value storage or an LDAP Ejabberd uses its internal Mnesia database by default.
