Homepage | Products | OX Knowledge Base | Support | Try Now | Contact | Company
OX Logo
Page 1 of 2 12 LastLast
Results 1 to 10 of 16
  1. #1
    KurtS Guest

    Default Cannot get connection to config DB.

    Hallo

    Im Forum wimmelt es von Problemen mit den Befehlen
    registerserver
    registerfilestore
    meistens mit dieser Fehlermeldung:
    Code:
    server could not be registered:
    Server response:
     com.openexchange.admin.rmi.exceptions.PoolException: DBP-0001 Category=5 Message=Cannot get connection to config DB. exceptionID=-269700059-2
    Ich habe alle Foren durchgeackert und habe festgestellt, dass es oft durch die Einträge im Hosts verursacht wird. Das ist bei mir definitiv nicht der Fall.

    Ich bin genau der Installationsanleitung für Ubuntu 8.04 gefolgt, mit einem Unterschied: Ich habe alle Befehle mit sudo ausgeführt, denn dieser Zusatz wird in der Anleitung oft weggelassen, aber dann geht der Befehl nicht.

    Nach über sechs Stunden üben und Fehlersuchen mit nochmaligem neu Aufsetzen vermute ich den Fehler hier:
    Im Log steht irgendwo:
    Code:
    Caused by: java.sql.SQLException: Access denied for user 'openexchange'@'localhost' (using password: YES)
    Offenbar wird also der registerserver-Befehl mit dem User openexchange ausgeführt und der hat in MySQL die entsprechenden Rechte nicht.

    Was ist hier genau zu tun?

    Der Fehler ist übrigens zu 100% reproduzierbar.

    KurtS

  2. #2
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hallo KurtS,

    diese Fehlermeldung deutet auf ein Konfigurationsproblem hin. Beim Aufsetzen der Datenbank (initconfigdb) wird versucht einen Datenbankbenutzer "openexchange" anzulegen. Dies funktioniert nur, wenn das MySQL "root" Passwort nicht gesetzt ist. Falls dieser Benutzer nicht existiert, schlagen natürlich weitere Kommandos fehl.

    Schau bitte nach, ob das Schema "configdb" in deiner MySQL Datenbank existiert (show databases). Falls nicht, wurde das Kommando "initconfigdb" nicht erfolgreich ausgeführt, vermutlich weil der MySQL "root" account passwortgeschützt ist. Während der OX Installation musst du kurzzeitig das Passwort entfernen, oder den Benutzer "openexchange" von Hand anlegen.

    In der Installationsanleitung ist das ja beschrieben: "Note: The -a parameter adds an administrative account to mysql, this administrative account is required for the creation of the oxdatabase database, you may find problems following the instructions of this tutorial if you either set a mysql root password or do not create this administrative account, if you have manually setup this administrative account, grant the permissions for database creation or you may find a problem in the context creation."

    Gruß

  3. #3
    KurtS Guest

    Default

    Danke für die Antwort. Ich kenne die Falle mit dem MySQL-Root-Passwort, deshalb habe ich keines gesetzt (auch nicht nachträglich gelöscht). Ich denke bereits initconfigdb wäre mit gesetztem Root-Passwort schief gelaufen.

    configdb ist vorhanden, der openexchange-User ist ebenfalls vorhanden, einmal mit Permissions für "Hosts Any" und einmal mit Permissions für "localhost", je mit dem gleichen Passwort <db_password> gesichert.

    Es muss etwas in den Scripts registerserver und registerfilestore schief laufen. Dies ist nicht mein erster OX, den ich mit Ubuntu aufsetze, bisher lief das immer. Dies ist nur eine schnellere Maschine.

    Wurde an den Scripts was geändert seit der vorigen Version?

  4. #4
    KurtS Guest

    Default Zusatztest

    Code:
    admin@server:~$ mysql -u openexchange -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 24
    Server version: 5.0.51a-3ubuntu5.5 (Ubuntu)
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    Das funktioniert, also wäre der User openexchange mit dem <db_password> verifiziert.

  5. #5
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hallo,

    die Skripte leiten lediglich die Parameter weiter, die eigentliche Logik dafür steckt in einem Teil vom OX.

    Wurde das Schema angelegt? Ansonsten kannst du initconfigdb auch mehrfach aufrufen und schauen was schief geht. Die darauf folgenden Befehlen benötigen eine Datenbank und schlagen definitiv fehl falls initconfigdb nicht korrekt durchgelaufen ist.

    Gruß

  6. #6
    KurtS Guest

    Default

    Die configdb wurde sicher richtig angelegt mit dem Befehl:
    Code:
    sudo /opt/open-xchange/sbin/initconfigdb --configdb-pass=<db_password> –a
    wobei ich anstelle <db_password> natürlich ein Passwort eingegeben habe, welches ich auch im nächsten Befehl verwende:

    Code:
    sudo /opt/open-xchange/sbin/oxinstaller --no-license \
    --servername=oxserver --configdb-pass==<db_password> \
    --master-pass=<admin_master_password> --ajp-bind-port=localhost
    Was wird im MySQL mit <db_password> genau gemacht? Wie kann ich das prüfen?

    Wird <db_password> dem openexchangeuser gegeben?

    Gruss Kurt

  7. #7
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hallo Kurt,

    korrekt - das db_password wird für den Benutzer "openexchange" verwendet, das ist der einzige Benutzer über den OX auf die Datenbank zugreift. MySQL "root" brauchen wir nur beim initialisieren der Datenbank - zu dem Zeitpunkt wird dann das Passwort gesetzt.

    Gruß

  8. #8
    Adrian Badertscher Guest

    Default

    Quote Originally Posted by Martin Braun View Post
    Hallo Kurt,

    korrekt - das db_password wird für den Benutzer "openexchange" verwendet, das ist der einzige Benutzer über den OX auf die Datenbank zugreift. MySQL "root" brauchen wir nur beim initialisieren der Datenbank - zu dem Zeitpunkt wird dann das Passwort gesetzt.

    Gruß
    Guten Abend Martin,

    für die ox_* Datenbank, die für den Kontext angelegt wird, braucht Ihr aber einen weiteren Benutzer, wenn mich nicht alles täuscht?

    Diese Datenbank wird über den Benutzer openexchange erstellt, deswegen braucht dieser ein alle Rechte auf den Datenbank Server, und nicht lediglich auf die eine Datenbank.

    Weswegen aber werden eigentlich zwei 'openexchange' Benutzer angelegt, einer mit lokalenzugriff Rechten und einen mit 'weltweiten'? Wofür wird der Zweitere gebraucht, und wieso benötigt man dann noch den Ersteren?

    Werde den Tipp bezüglich des Passworts noch umsetzen, vielen Dank dafür.

    Gruss,

    Adrian Badertscher

  9. #9
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hallo,

    wir legen lediglich einen "openexchange" Datenbankbenutzer an, der sich per default nur von localhost einloggen kann. Möglicherweise wurden die Installationsscripte schon mehrfach und mit anderen Parametern aufgerufen?

    OX greift über einen einzigen Datenbankbenutzer auf die Datenbank zu. Zuerst auf das Schema "configdb" dessen Zugangsdaten in der configdb.properties stehen. In der configdb stehen dann die Pfade und Zugangsdaten für die "echten" Datenbanken. Das ist etwas kompliziert aber sehr sinnvoll wenn man mit sehr vielen Datenbank Schema und MySQL Clustern zu tun hat.

    Gruß

  10. #10
    KurtS Guest

    Default

    Also ich habe mal getestet, was alles vorhanden ist:

    Code:
    $ mysql -u openexchange -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 69
    Server version: 5.0.51a-3ubuntu5.5 (Ubuntu)
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> use configdb
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | configdb           |
    | mysql              |
    +--------------------+
    3 rows in set (0.00 sec)
    
    mysql> show tables;
    +------------------------+
    | Tables_in_configdb     |
    +------------------------+
    | configdb_sequence      |
    | context                |
    | context_server2db_pool |
    | db_cluster             |
    | db_pool                |
    | filestore              |
    | login2context          |
    | reason_text            |
    | server                 |
    +------------------------+
    9 rows in set (0.00 sec)
    
    mysql> select * from server;
    Empty set (0.00 sec)
    
    mysql> select * from filestore;
    Empty set (0.00 sec)
    
    mysql> select * from context;
    Empty set (0.00 sec)
    
    mysql>
    Also die configdb wurde errichtet.

    Das anschliessende oxinstaller lief auch problemlos durch.

    Aber registerserver scheitert dann mit
    Code:
    Access denied for user 'openexchange'@'localhost' (using password: YES)
    Nun, in den obigen Tests verwende ich das korrekte <db_password> und kann auf configdb zugreifen.

    Der oxinstaller verwendet ja als letzter das <db_password>, geht da was schief?

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •