Befolgen Sie diesen Schritten, um CrowdID mit MySQL zu verbinden.


1. Konfiguration von MySQL

  1. Erstellen Sie einen Datenbankbenutzer, mit dem sich CrowdID verbinden wird (z. B. crowduser).
  2. Erstellen Sie eine Datenbank für CrowdID, in der Daten gespeichert werden (z. B. crowdiddb).

    (Warnung) Es muss eine andere Datenbank sein als die, die von Crowd verwendet wird.

    Bei einer UTF-8 verschlüsselten Datenbank:

    create database crowdiddb character set utf8;
  3. Stellen Sie sicher, dass der Benutzer die Berechtigungen hat sich mit der Datenbank zu verbinden und Tabellen zu erstellen und zu pflegen.


2. Kopieren Sie den MySQL Treiber in Ihren Applikationsserver

  1. Laden Sie den neuesten MySQL Konnektor/J JDBC Treiber herunter.
  2. Fügen Sie die MySQL JDBC Treiber JAR-Datei (mysql-connector-java-3.x.x-bin.jar) ins folgende Verzeichnis hinzu:
    • Bei der Crowd Distribution:
      • Crowd 2.0.2 oder neuer: {CROWD_INSTALL}/apache-tomcat/lib/.
      • Crowd 2.0.1 oder älter: {CROWD_INSTALL}/apache-tomcat/common/lib/.
    • Bei der Crowd WAR-Distribution kopieren Sie die Treiber JAR-Datei in Ihren Applikationsserver. Zum Beispiel bei Tomcat:
      • Tomcat 5.5.x: common/lib/.
      • Tomcat 6.x: lib/.


Platzieren Sie nicht den Debug-Treiber (mysql-connector-java-3.x.x-bin-g.jar) auf dem CLASSPATH, da dies Probleme verursachen könnte. Sehen Sie: JRA-8674.


3. Konfigurieren Sie Ihren Applikationsserver für die Verbindung mit MySQL

  1. Editieren Sie die apache-tomcat-X.X.XX/conf/Catalina/localhost/openidserver.xml Datei und passen Sie die Parameter username, password, driverClassName und url für die Datenquelle an.

    <Context path="/openidserver" docBase="../../crowd-openidserver-webapp" debug="0">
    
    <Resource name="jdbc/CrowdIDDS" auth="Container" type="javax.sql.DataSource"
    username="[enter db username here]"
    password="[enter db password here]"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost/crowdiddb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf8"
    [ delete the minEvictableIdleTimeMillis, timeBetweenEvictionRunsMillis and maxActive params here ]
    />
    
    <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
    
    </Context>

    Die obige URL setzt eine UTF-8 Datenbank voraus — d. h. erstellt mit create database crowdiddb character set utf8;.

    MySQL schließt inaktive Verbindungen nach 8 Stunden, deshalb ist autoReconnect=true für die Neuverbindung des Treibers notwendig.


  2. Löschen Sie die Attribute minEvictableldleTimeMillis, timeBetweenEvictionRunsMillis und maxActive (diese werden nur für HSQL benötigt und würden bloß die Performance verschlechtern).


4. Konfiguration von CrowdID für die Verwendung von MySQL

  1. Editieren Sie die build.properties Datei (liegt im Root der Crowd Distribution, nicht Crowd EAR-WAR) und passen Sie hibernate.dialect wie folgt an.

    hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
  2. Führen Sie dann ./build.sh oder build.bat aus. Dies konfiguriert CrowdID für die Verwendung des MySQL Dialekts.

Wenn Sie diese Datei nicht editieren und das Build-Skript ausführen möchten, können Sie direkt die jdbc.properties Datei editieren (welche das obige Skript modifiziert). Die jdbc.properties Datei liegt hier: crowd-openidserver-webapp\WEB-INF\classes\jdbc.properties. Modifizieren Sie die Datei folgendermaßen:

# - Crowd Configuration Options

hibernate.connection.datasource=java\:comp/env/jdbc/CrowdIDDS
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory

...


Nächste Schritte

Sie sollten nun einen Applikationsserver für die Verbindung an einer Datenbank und CrowdID für die Verwendung der korrekten Datenbank konfiguriert haben. Starten Sie jetzt CrowdID und beobachten Sie die Logs für jegliche Fehlermeldungen.




Crowd Dokumentation Übersicht:



Crowd Doku

Diese Seite wurde zuletzt am 24.04.2024 geändert.