In continuazione al nostro precedente articolo su "Installazione di WSO2 API Manager su CentOS", oggi parleremo della configurazione di WSO2 con il database MySQL. Per impostazione predefinita, WSO2 API Manager utilizza il database H2 incorporato per la memorizzazione dei dati per il funzionamento del gateway. Tuttavia, si consiglia di integrarlo con il database MySQL per l'ambiente di produzione. Ricorda che puoi continuare a utilizzare Carbon con il database H2 in quanto non è necessario modificarlo. Detto questo, andiamo avanti con il tutorial.
Come configurare WSO2 API Manager con il database MySQL
Installazione di MySQL
Sarà necessario installare MySQL Server e client prima di passare alla sezione successiva. Ecco una guida sull'installazione di MySQL.
Impostazione database e utenti
Passaggio 1: Imposta il nome host per configurare i permessi del database in /etc/hosts
file.
<MYSQL-SERVER-IP> carbondb.mysql-tg.comNota:
Ignora questo passaggio se il server del database e l'API Manager sono gli stessi.
Passaggio 2: Avvia il server del database
# systemctl start mysqld
Passaggio 3: Accedi a Mysql come utente root e crea 'apimadmin
' e 'sharedadmin
' account utente.
mysql > CREATE USER 'apimadmin'@'localhost' IDENTIFIED BY 'apimadmin123'; mysql > CREATE USER 'sharedadmin'@'localhost' IDENTIFIED BY 'sharedadmin123';
Passaggio 4: Crea database come mostrato di seguito
mysql > create database apim_db; mysql > create database shared_db;
Passaggio 5: Concedi privilegi agli utenti per i rispettivi database.
mysql > GRANT ALL ON apim_db.* TO apimadmin@localhost IDENTIFIED BY "apimadmin123"; mysql > GRANT ALL ON shared_db.* TO sharedadmin@localhost IDENTIFIED BY "sharedadmin123";
Passaggio 6: Sì, abbiamo finito con questo. Ricarichiamo tutti i privilegi ed esci da MySQL.
mysql > FLUSH PRIVILEGES;
Imposta il driver MySQL per WSO2 API-M
Prima di continuare con questa sezione, assicurati di avere già installato e configurato WSO2 API-M. In caso contrario, passa a questo link per configurare WSO2 API-M e torna qui.
Passaggio 7: Scarica il file JAR di MySQL Java Connector ed estrailo nella cartella sottostante.
Controllare la versione del connettoreAssicurati di controllare se il connettore MySQL è compatibile con la versione di MySQL installata.
<API-M_HOME>/repository/components/lib/API-M_HOME
Si riferisce alla directory principale di WSO2 API Manager. Ad esempio, se hai installato WSO2 versione 4.0.0 nella tua posizione principale, API-M_HOME fa riferimento a /home/apigw/wso2am-4.0.0
Puoi controllare rapidamente se il connettore di download ha una classe Driver:con MySQL Connector/J, il nome di questa classe è
$ jar tvf mysql-connector-java-8.0.26.jar
Popolare i database con script WSO2 DB
Passaggio 8: Popolare entrambi i database con gli script WSO2 DB.
$ mysql -u sharedadmin -p -Dshared_db < '<API-M_HOME>/dbscripts/mysql.sql';
Il comando precedente imposterà il shared_db
con le tabelle necessarie.
$ mysql -u apimadmin -p -Dapim_db < '<API-M_HOME>/dbscripts/apimgt/mysql.sql';
Il comando precedente imposterà apim_db
con le tabelle necessarie.
Ricordarsi di inserire la password quando viene richiesta con quella creata nel passaggio 5.
Configurazione di WSO2 con origini dati MySQL
Le origini dati vengono utilizzate per stabilire una connessione a un database. Questo deve essere configurato in deployment.toml
file come mostrato di seguito.
Passaggio 9: Apri il <API-M_HOME>/repository/conf/deployment.toml
file di configurazione e cerca
Passaggio 10: Modificare gli elementi di configurazione con i valori necessari come mostrato di seguito:
[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"Cambia password
Se il server del database è una macchina diversa, ricordarsi di cambiare localhost. Sostituisci anche nome utente e password corretti.
Cos'è useSSL
nell'URL di connessione al database?
useSSL
argomento alla fine dell'URL di connessione al database disabilita la connessione SSL. È necessario utilizzare questo argomento solo se si desidera disabilitare la connessione SSL al database o se si è verificato l'errore seguente durante l'avvio del gestore API.
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Non disabilitare SSL sul server di produzione Hai capito bene! Non farlo mai su un server di produzione.
Ecco una soluzione per correggere gli errori di errore del collegamento di comunicazione.
Passaggio 10: Questo è tutto. Riavvia il Gestore API WSO2.
$ ./bin/api-manager.sh -restart
Quindi è tutto. Accedi a tutti gli URL di WSO2 per confermare che tutto funzioni correttamente.
https://<IP or Hostname>:9443/carbon
https://<IP or Hostname>:9443/publisher
https://<IP or Hostname>:9443/devportal