V návaznosti na náš předchozí článek „Instalace WSO2 API Manager na CentOS“ dnes probereme konfiguraci WSO2 s databází MySQL. Ve výchozím nastavení WSO2 API Manager používá vestavěnou databázi H2 pro ukládání dat pro fungování brány. Pro produkční prostředí se však doporučuje integrovat jej s databází MySQL. Pamatujte, že můžete nadále používat Carbon s databází H2, protože ji není nutné měnit. S tím přejdeme k výukovému programu.
Jak nakonfigurovat WSO2 API Manager s databází MySQL
Instalace MySQL
Než přejdete k další části, budete muset nainstalovat server MySQL a klienty. Zde je průvodce instalací MySQL.
Nastavení databáze a uživatelů
Krok 1: Nastavte název hostitele pro konfiguraci oprávnění databáze v /etc/hosts
soubor.
<MYSQL-SERVER-IP> carbondb.mysql-tg.comPoznámka:
Tento krok ignorujte, pokud jsou váš databázový server a API Manager stejné.
Krok 2: Spusťte databázový server
# systemctl start mysqld
Krok 3: Přihlaste se do Mysql jako uživatel root a vytvořte ‘apimadmin
“ a „sharedadmin
‘ uživatelské účty.
mysql > CREATE USER 'apimadmin'@'localhost' IDENTIFIED BY 'apimadmin123'; mysql > CREATE USER 'sharedadmin'@'localhost' IDENTIFIED BY 'sharedadmin123';
Krok 4: Vytvořte databáze, jak je uvedeno níže
mysql > create database apim_db; mysql > create database shared_db;
Krok 5: Udělte uživatelům oprávnění pro příslušné databáze.
mysql > GRANT ALL ON apim_db.* TO apimadmin@localhost IDENTIFIED BY "apimadmin123"; mysql > GRANT ALL ON shared_db.* TO sharedadmin@localhost IDENTIFIED BY "sharedadmin123";
Krok 6: Ano, s tím jsme skončili. Znovu načteme všechna oprávnění a ukončíme MySQL.
mysql > FLUSH PRIVILEGES;
Nastavit ovladač MySQL pro WSO2 API-M
Než budete pokračovat v této části, ujistěte se, že již máte nainstalované a nakonfigurované rozhraní WSO2 API-M. Pokud ne, přejděte na tento odkaz, nastavte WSO2 API-M a vraťte se sem.
Krok 7: Stáhněte si soubor JAR MySQL Java Connector a rozbalte jej do níže uvedené složky.
Zkontrolujte verzi konektoruUjistěte se, že je konektor MySQL kompatibilní s nainstalovanou verzí MySQL.
<API-M_HOME>/repository/components/lib/API-M_HOME
Odkazuje na kořenový adresář WSO2 API Manager. Pokud jste například nainstalovali WSO2 verze 4.0.0 ve svém domovském umístění, pak API-M_HOME odkazuje na /home/apigw/wso2am-4.0.0
Můžete rychle zkontrolovat, zda konektor pro stahování má třídu Driver – S MySQL Connector/J je název této třídy
$ jar tvf mysql-connector-java-8.0.26.jar
Naplnit databáze skripty WSO2 DB
Krok 8: Naplňte obě databáze skripty WSO2 DB.
$ mysql -u sharedadmin -p -Dshared_db < '<API-M_HOME>/dbscripts/mysql.sql';
Výše uvedený příkaz nastaví shared_db
s nezbytnými tabulkami.
$ mysql -u apimadmin -p -Dapim_db < '<API-M_HOME>/dbscripts/apimgt/mysql.sql';
Výše uvedený příkaz nastaví apim_db
s nezbytnými tabulkami.
Nezapomeňte zadat heslo, když budete požádáni spolu s heslem vytvořeným v kroku 5.
Konfigurace WSO2 se zdroji dat MySQL
Zdroje dat se používají k navázání připojení k databázi. Toto je třeba nakonfigurovat v deployment.toml
soubor, jak je uvedeno níže.
Krok 9: Otevřete <API-M_HOME>/repository/conf/deployment.toml
konfigurační soubor a podívejte se na
Krok 10: Změňte konfigurační prvky na potřebné hodnoty, jak je znázorněno níže:
[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"Změňte hesla
Pokud je databázový server jiný počítač, nezapomeňte změnit localhost. Nahraďte také správné uživatelské jméno a hesla.
Co je to useSSL
v adrese URL připojení k databázi?
useSSL
argument na konci adresy URL připojení k databázi zakáže připojení SSL. Tento argument musíte použít pouze v případě, že chcete zakázat připojení SSL k databázi nebo pokud jste při spouštění správce API skončili s níže uvedenou chybou.
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Nezakazujte SSL na produkčním serveru Máš to správně! Nikdy to nedělejte na produkčním serveru.
Zde je řešení, jak opravit chyby při selhání komunikačního spojení.
Krok 10: A je to. Restartujte WSO2 API Manager.
$ ./bin/api-manager.sh -restart
Takže to je vše. Přejděte na všechny adresy URL WSO2 a ověřte, že vše funguje správně.
https://<IP or Hostname>:9443/carbon
https://<IP or Hostname>:9443/publisher
https://<IP or Hostname>:9443/devportal