Move users table to external db: reconfigure openfire settings?

Hi,

I need to use an external users table of another mysql database.

I read the guide and with the help of this message I have configured new openfire.xml file.

When I tried to access to my web control panel (http://server:9090), openfire asked me to reconfigure all settings.

is it normal? Because I had already configured the server with mysql. Now I just need to use an external table for users.

Thanks.

It shouldn’t do any harm to run this setup again and connect it to the same database.

it seemed odd. Nevertheless, I tried to redo the web configuration wizard of openfire.

Unfortunately, the server still takes users from the main mysql database of openfire.

I want to better sum up the situation.

Now I have a single database, called openfire, which also contains the users table.

Instead I want to move only the users table to another database called myapp, leaving the entire configuration in openfire database.

Is it possibile? I think so from what I read in the guide.

So I just changed the openfire.xml configuration file that I write below:

<?xml version="1.0" encoding="UTF-8"?>
<jive>     <adminConsole>         <port>9090</port>          <securePort>9091</securePort>     </adminConsole>      <locale>en</locale>      <connectionProvider>         <className>org.jivesoftware.database.DefaultConnectionProvider</className>     </connectionProvider>      <database>
        <!-- THIS SHOULD BE OPENFIRE DATABASE THAT CONTAINS SETTINGS -->
        <defaultProvider>             <driver>com.mysql.jdbc.Driver</driver>              <serverURL>jdbc:mysql://localhost:3306/openfire</serverURL>              <username>DbOpenfireUser</username>              <password>DbOpenfirePassword</password>              <testSQL>select 1</testSQL>              <testBeforeUse>true</testBeforeUse>              <testAfterUse>true</testAfterUse>              <minConnections>5</minConnections>              <maxConnections>25</maxConnections>              <connectionTimeout>1.0</connectionTimeout>         </defaultProvider>     </database>       <!-- THIS SHOULD BE MYAPP DATABASE THAT CONTAINS USERS TABLE -->
    <jdbcProvider>         <driver>com.mysql.jdbc.Driver</driver>          <connectionString>jdbc:mysql://localhost/myapp?user=dbMyappUser&amp;password=dbMyappPassword</connectionString>     </jdbcProvider>      <provider>         <auth>             <className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>         </auth>          <user>             <className>org.jivesoftware.openfire.user.JDBCUserProvider</className>         </user>     </provider>      <jdbcAuthProvider>         <passwordSQL>SELECT pass FROM users WHERE user=?</passwordSQL>          <passwordType>plain</passwordType>     </jdbcAuthProvider>      <jdbcUserProvider>         <loadUserSQL>SELECT name,email FROM users WHERE user=?</loadUserSQL>          <userCountSQL>SELECT COUNT(*) FROM users</userCountSQL>          <allUsersSQL>SELECT user FROM users</allUsersSQL>          <searchSQL>SELECT user FROM users WHERE</searchSQL>          <usernameField>user</usernameField>          <nameField>name</nameField>          <emailField>email</emailField>     </jdbcUserProvider>
    <admin/>      <log>         <debug>             <enabled>true</enabled>         </debug>     </log>
</jive>

This configuration does not work because I always see the list of users stored in the openfire database.