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
/etc/hosts
archivo.
<MYSQL-SERVER-IP> carbondb.mysql-tg.comNota:
Ignore este paso si su servidor de base de datos y API Manager son los mismos.
# 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';
mysql > create database apim_db; mysql > create database shared_db;
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 conectorAsegú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
$ 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
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