GNU/Linux >> Tutoriales Linux >  >> Linux

Configurar WSO2 API Manager con base de datos MySQL

Como continuación de nuestro artículo anterior sobre "Instalación de WSO2 API Manager en CentOS", hoy discutiremos la configuración de WSO2 con la base de datos MySQL. De forma predeterminada, WSO2 API Manager utiliza la base de datos H2 integrada para almacenar datos para el funcionamiento de la puerta de enlace. Sin embargo, se recomienda integrarlo con la base de datos MySQL para el entorno de producción. Recuerde, puede continuar usando la base de datos Carbon con H2 ya que no es necesario cambiarla. Con eso, sigamos con el tutorial.

Cómo configurar WSO2 API Manager con base de datos MySQL

Instalando MySQL

Deberá instalar el servidor MySQL y los clientes antes de pasar a la siguiente sección. Aquí hay una guía sobre la instalación de MySQL.

Configurar base de datos y usuarios

Paso 1: Establezca el nombre de host para configurar los permisos de la base de datos en /etc/hosts archivo.

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

Ignore este paso si su servidor de base de datos y API Manager son los mismos.

Paso 2: Inicie el servidor de base de datos

# systemctl start mysqld

Paso 3: Inicie sesión en Mysql como usuario root y cree 'apimadmin ‘ y ‘sharedadmin ‘ cuentas de usuario.

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

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

Paso 4: Cree bases de datos como se muestra a continuación

mysql > create database apim_db;

mysql > create database shared_db;

Paso 5: Otorgue privilegios a los usuarios para las respectivas bases de datos.

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

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

Paso 6: Sí, hemos terminado con esto. Recarguemos todos los privilegios y salgamos de MySQL.

mysql > FLUSH PRIVILEGES;

Configurar controlador MySQL para WSO2 API-M

Antes de continuar con esta sección, asegúrese de que ya tiene WSO2 API-M instalado y configurado. Si no, vaya a este enlace para configurar WSO2 API-M y vuelva aquí.

Paso 7: Descargue el archivo JAR de MySQL Java Connector y extráigalo en la siguiente carpeta.

Comprobar la versión del conector

Asegúrese de comprobar si el conector de MySQL es compatible con la versión de MySQL instalada.

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

Hace referencia al directorio raíz de WSO2 API Manager. Por ejemplo, si ha instalado WSO2 versión 4.0.0 en su ubicación de inicio, entonces API-M_HOME se refiere a /home/apigw/wso2am-4.0.0

Puede verificar rápidamente si el conector de descarga tiene una clase de controlador:con MySQL Connector/J, el nombre de esta clase es com.mysql.cj.jdbc.Driver .

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

Rellenar bases de datos con WSO2 DB scripts

Paso 8: Rellene ambas bases de datos con los scripts WSO2 DB.

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

El comando anterior configurará el shared_db con las tablas necesarias.

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

El comando anterior configurará apim_db con las tablas necesarias.

Recuerde ingresar la contraseña cuando se le solicite con la creada en el paso 5.

Configurando WSO2 con fuentes de datos MySQL

Las fuentes de datos se utilizan para establecer una conexión con una base de datos. Esto debe configurarse en deployment.toml archivo como se muestra a continuación.

Paso 9: Abra el <API-M_HOME>/repository/conf/deployment.toml archivo de configuración y busque [database.shared_db] y [base de datos.apim_db] elementos de configuración.

Paso 10: Cambie los elementos de configuración con los valores necesarios como se muestra a continuación:

[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"
cambiar contraseñas

Si el servidor de la base de datos es una máquina diferente, recuerde cambiar localhost. También reemplace el nombre de usuario y las contraseñas correctos.

¿Qué es useSSL? en la URL de conexión de la base de datos?

useSSL El argumento al final de la URL de conexión de la base de datos desactiva la conexión SSL. Debe usar este argumento solo si desea deshabilitar la conexión SSL a la base de datos o si terminó con el siguiente error mientras se inicia el administrador de API.

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
No deshabilite SSL en el servidor de producción

¡Lo hiciste bien! Nunca haga eso en un servidor de producción.

Aquí hay una solución para corregir los errores de falla del enlace de comunicación.

Paso 10: Eso es todo. Reinicie el Administrador de API de WSO2.

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

Eso es todo. Acceda a todas las URL de WSO2 para confirmar que todo funciona correctamente.

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

Linux
  1. Optimizar la base de datos MySQL

  2. Cómo copiar una base de datos MySQL

  3. Mejorar el almacenamiento en caché de la base de datos MySQL

  4. Configurar la replicación fuente-fuente de MySQL

  5. Importar una base de datos MySQL

Cómo hacer una copia de seguridad y restaurar una base de datos MySQL

Servidor de base de datos MySQL

Cómo crear una base de datos con MySQL Database Wizard

Descripción general de MySQL

Administrar una base de datos MySQL en cPanel con PHPMyAdmin

Cambiar el nombre de la base de datos MySQL