In Fortsetzung unseres vorherigen Artikels „Installation des WSO2-API-Managers auf CentOS“ werden wir heute die Konfiguration von WSO2 mit der MySQL-Datenbank besprechen. Standardmäßig verwendet WSO2 API Manager die eingebettete H2-Datenbank zum Speichern von Daten für das Funktionieren des Gateways. Es wird jedoch empfohlen, es in die MySQL-Datenbank für die Produktionsumgebung zu integrieren. Denken Sie daran, dass Sie das Carbon weiterhin mit der H2-Datenbank verwenden können, da es nicht notwendig ist, es zu ändern. Fahren wir damit mit dem Tutorial fort.
So konfigurieren Sie WSO2 API Manager mit MySQL-Datenbank
Installieren von MySQL
Sie müssen MySQL Server und Clients installieren, bevor Sie mit dem nächsten Abschnitt fortfahren. Hier ist eine Anleitung zur MySQL-Installation.
Datenbank und Benutzer einrichten
Schritt 1: Legen Sie den Hostnamen zum Konfigurieren von Datenbankberechtigungen in /etc/hosts
fest Datei.
<MYSQL-SERVER-IP> carbondb.mysql-tg.comNotiz:
Ignorieren Sie diesen Schritt, wenn Ihr Datenbankserver und API Manager identisch sind.
Schritt 2: Starten Sie den Datenbankserver
# systemctl start mysqld
Schritt 3: Melden Sie sich als Root-Benutzer bei Mysql an und erstellen Sie „apimadmin
‘ und ‚sharedadmin
‘ Benutzerkonten.
mysql > CREATE USER 'apimadmin'@'localhost' IDENTIFIED BY 'apimadmin123'; mysql > CREATE USER 'sharedadmin'@'localhost' IDENTIFIED BY 'sharedadmin123';
Schritt 4: Erstellen Sie Datenbanken wie unten gezeigt
mysql > create database apim_db; mysql > create database shared_db;
Schritt 5: Gewähren Sie den Benutzern Privilegien für die jeweiligen Datenbanken.
mysql > GRANT ALL ON apim_db.* TO apimadmin@localhost IDENTIFIED BY "apimadmin123"; mysql > GRANT ALL ON shared_db.* TO sharedadmin@localhost IDENTIFIED BY "sharedadmin123";
Schritt 6: Ja, damit sind wir fertig. Lassen Sie uns alle Privilegien neu laden und MySQL beenden.
mysql > FLUSH PRIVILEGES;
Mysql-Treiber für WSO2 API-M einrichten
Bevor Sie mit diesem Abschnitt fortfahren, vergewissern Sie sich, dass WSO2 API-M bereits installiert und konfiguriert ist. Wenn nicht, wechseln Sie zu diesem Link, um WSO2 API-M einzurichten, und kehren Sie hierher zurück.
Schritt 7: Laden Sie die MySQL Java Connector JAR-Datei herunter und extrahieren Sie sie in den folgenden Ordner.
Überprüfen Sie die Connector-VersionÜberprüfen Sie unbedingt, ob der MySQL-Connector mit der installierten MySQL-Version kompatibel ist.
<API-M_HOME>/repository/components/lib/API-M_HOME
Bezieht sich auf das Stammverzeichnis von WSO2 API Manager. Wenn Sie beispielsweise WSO2 Version 4.0.0 an Ihrem Heimatstandort installiert haben, bezieht sich API-M_HOME auf /home/apigw/wso2am-4.0.0
Sie können schnell prüfen, ob der Download-Connector eine Treiberklasse hat – Bei MySQL Connector/J lautet der Name dieser Klasse
$ jar tvf mysql-connector-java-8.0.26.jar
Datenbanken mit WSO2-DB-Skripten füllen
Schritt 8: Füllen Sie beide Datenbanken mit den WSO2-DB-Skripten.
$ mysql -u sharedadmin -p -Dshared_db < '<API-M_HOME>/dbscripts/mysql.sql';
Der obige Befehl richtet die shared_db
ein mit notwendigen Tabellen.
$ mysql -u apimadmin -p -Dapim_db < '<API-M_HOME>/dbscripts/apimgt/mysql.sql';
Der obige Befehl richtet apim_db
ein mit notwendigen Tabellen.
Denken Sie daran, das in Schritt 5 erstellte Passwort einzugeben, wenn Sie dazu aufgefordert werden.
WSO2 mit MySQL-Datenquellen konfigurieren
Die Datenquellen werden verwendet, um eine Verbindung zu einer Datenbank herzustellen. Dies muss in deployment.toml
konfiguriert werden Datei wie unten gezeigt.
Schritt 9: Öffnen Sie <API-M_HOME>/repository/conf/deployment.toml
Konfigurationsdatei und suchen Sie nach
Schritt 10: Ändern Sie die Konfigurationselemente mit den erforderlichen Werten wie unten gezeigt:
[database.shared_db] type = "mysql" url = "jdbc:mysql://localhost:3306/shared_db?useSSL=false" username = "sharedadmin" password = "sharedadmin123" driver="com.mysql.cj.jdbc.Driver" [database.apim_db] type = "mysql" url = "jdbc:mysql://localhost:3306/apim_db?useSSL=false" username = "apimadmin" password = "apimadmin123" driver="com.mysql.cj.jdbc.Driver"Passwörter ändern
Wenn der Datenbankserver ein anderer Computer ist, denken Sie daran, localhost zu ändern. Ersetzen Sie auch den richtigen Benutzernamen und die richtigen Passwörter.
Was ist useSSL
in der URL der Datenbankverbindung?
useSSL
Argument am Ende der Datenbankverbindungs-URL deaktiviert die SSL-Verbindung. Sie müssen dieses Argument nur verwenden, wenn Sie die SSL-Verbindung zur Datenbank deaktivieren möchten oder beim Starten des API-Managers den folgenden Fehler erhalten haben.
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Deaktivieren Sie SSL nicht auf dem Produktionsserver Du hast es richtig! Tun Sie das niemals auf einem Produktionsserver.
Hier ist eine Lösung, um die Fehler bei Kommunikationsverbindungsfehlern zu beheben.
Schritt 10: Das ist es. Starten Sie den WSO2 API Manager neu.
$ ./bin/api-manager.sh -restart
Das war's. Greifen Sie auf alle URLs von WSO2 zu, um zu bestätigen, dass alles einwandfrei funktioniert.
https://<IP or Hostname>:9443/carbon
https://<IP or Hostname>:9443/publisher
https://<IP or Hostname>:9443/devportal