GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Konfigurieren Sie WSO2 API Manager mit MySQL-Datenbank

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.com
Notiz:

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 com.mysql.cj.jdbc.Driver .

$ 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 [database.shared_db] und [database.apim_db] Konfigurationselemente.

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

Linux
  1. MySQL-Datenbank optimieren

  2. So kopieren Sie eine MySQL-Datenbank

  3. Verbessern Sie das Cachen von MySQL-Datenbanken

  4. Ausnahme bei Kommunikationsverbindungsfehler – WSO2 mit MySQL [Fix]

  5. WSO2 API Manager auf CentOS installieren

So sichern und wiederherstellen Sie eine MySQL-Datenbank

MySQL-Datenbankserver

So erstellen Sie eine Datenbank mit dem MySQL-Datenbankassistenten

MySQL-Übersicht

Verwalten einer MySQL-Datenbank in cPanel mit PHPMyAdmin

MySQL-Datenbank umbenennen