GNU/Linux >> Tutoriels Linux >  >> Linux

Configurer le gestionnaire d'API WSO2 avec la base de données MySQL

Dans la continuité de notre article précédent sur "Installation de WSO2 API Manager sur CentOS", nous aborderons aujourd'hui la configuration de WSO2 avec la base de données MySQL. Par défaut, WSO2 API Manager utilise la base de données H2 intégrée pour stocker les données nécessaires au fonctionnement de la passerelle. Cependant, il est conseillé de l'intégrer à la base de données MySQL pour l'environnement de production. N'oubliez pas que vous pouvez continuer à utiliser le Carbon avec la base de données H2 car il n'est pas nécessaire de le modifier. Sur ce, passons au tutoriel.

Comment configurer le gestionnaire d'API WSO2 avec la base de données MySQL

Installer MySQL

Vous devrez installer MySQL Server et les clients avant de passer à la section suivante. Voici un guide sur l'installation de MySQL.

Configurer la base de données et les utilisateurs

Étape 1 : Définir le nom d'hôte pour configurer les autorisations de la base de données dans /etc/hosts fichier.

<MYSQL-SERVER-IP> carbondb.mysql-tg.com
Noter:

Ignorez cette étape si votre serveur de base de données et votre gestionnaire d'API sont identiques.

Étape 2 : Démarrer le serveur de base de données

# systemctl start mysqld

Étape 3 : Connectez-vous à Mysql en tant qu'utilisateur root et créez 'apimadmin ' et 'sharedadmin ‘ comptes d'utilisateurs.

mysql > CREATE USER 'apimadmin'@'localhost' IDENTIFIED BY 'apimadmin123';

mysql > CREATE USER 'sharedadmin'@'localhost' IDENTIFIED BY 'sharedadmin123';

Étape 4 : Créez des bases de données comme indiqué ci-dessous

mysql > create database apim_db;

mysql > create database shared_db;

Étape 5 : Accordez des privilèges aux utilisateurs pour les bases de données respectives.

mysql > GRANT ALL ON apim_db.* TO apimadmin@localhost IDENTIFIED BY "apimadmin123";

mysql > GRANT ALL ON shared_db.* TO sharedadmin@localhost IDENTIFIED BY "sharedadmin123";

Étape 6 : Oui, nous en avons fini avec ça. Rechargeons tous les privilèges et quittons MySQL.

mysql > FLUSH PRIVILEGES;

Configurer le pilote MySQL pour WSO2 API-M

Avant de continuer avec cette section, assurez-vous que l'API-M WSO2 est déjà installée et configurée. Si ce n'est pas le cas, accédez à ce lien pour configurer l'API-M WSO2 et revenez ici.

Étape 7 : Téléchargez le fichier JAR du connecteur MySQL Java et extrayez-le dans le dossier ci-dessous.

Vérifier la version du connecteur

Assurez-vous de vérifier si le connecteur MySQL est compatible avec la version de MySQL installée.

<API-M_HOME>/repository/components/lib/
API-M_HOME

Fait référence au répertoire racine du gestionnaire d'API WSO2. Par exemple, si vous aviez installé WSO2 version 4.0.0 à votre domicile, alors API-M_HOME fait référence à /home/apigw/wso2am-4.0.0

Vous pouvez rapidement vérifier si le connecteur de téléchargement a une classe Driver – Avec MySQL Connector/J, le nom de cette classe est com.mysql.cj.jdbc.Driver .

$ jar tvf mysql-connector-java-8.0.26.jar

Remplir les bases de données avec les scripts de base de données WSO2

Étape 8 : Remplissez les deux bases de données avec les scripts de base de données WSO2.

$ mysql -u sharedadmin -p -Dshared_db < '<API-M_HOME>/dbscripts/mysql.sql';

La commande ci-dessus configurera le shared_db avec les tableaux nécessaires.

$ mysql -u apimadmin -p -Dapim_db < '<API-M_HOME>/dbscripts/apimgt/mysql.sql';

La commande ci-dessus configurera apim_db avec les tableaux nécessaires.

N'oubliez pas de saisir le mot de passe lorsqu'on vous le demande avec celui créé à l'étape 5.

Configuration de WSO2 avec des sources de données MySQL

Les sources de données sont utilisées pour établir une connexion à une base de données. Cela doit être configuré dans deployment.toml fichier comme indiqué ci-dessous.

Étape 9 : Ouvrez le <API-M_HOME>/repository/conf/deployment.toml fichier de configuration et recherchez [database.shared_db] et [database.apim_db] éléments de configuration.

Étape 10 : Modifiez les éléments de configuration avec les valeurs nécessaires comme indiqué ci-dessous :

[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"
Changer les mots de passe

Si le serveur de base de données est une machine différente, n'oubliez pas de changer localhost. Remplacez également le nom d'utilisateur et les mots de passe corrects.

Qu'est-ce que useSSL ? dans l'URL de connexion à la base ?

useSSL L'argument à la fin de l'URL de connexion à la base de données désactive la connexion SSL. Vous devez utiliser cet argument uniquement si vous souhaitez désactiver la connexion SSL à la base de données ou si vous vous retrouvez avec l'erreur ci-dessous lors du démarrage du gestionnaire d'API.

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Ne désactivez pas SSL sur le serveur de production

Vous avez bien compris! Ne faites jamais cela sur un serveur de production.

Voici une solution pour corriger les erreurs d'échec du lien de communication.

Étape 10 : C'est ça. Redémarrez le gestionnaire d'API WSO2.

$ ./bin/api-manager.sh -restart

Alors c'est tout. Accédez à toutes les URL de WSO2 pour confirmer que tout fonctionne correctement.

  • https://<IP or Hostname>:9443/carbon
  • https://<IP or Hostname>:9443/publisher
  • https://<IP or Hostname>:9443/devportal

Linux
  1. Comment copier une base de données MySQL

  2. Améliorer la mise en cache de la base de données MySQL

  3. Comment créer une base de données dans MySQL avec MySQL Workbench

  4. Gestionnaire MySQL CWP

  5. Configurer la réplication source-source MySQL

Comment sauvegarder et restaurer une base de données MySQL

Serveur de base de données MySQL

Comment créer une base de données avec MySQL Database Wizard

Présentation de MySQL

Comment créer une base de données MySQL à l'aide de l'API cPanel

Gérer une base de données MySQL dans cPanel avec PHPMyAdmin