GNU/Linux >> Belajar Linux >  >> Linux

Konfigurasikan WSO2 API Manager dengan Database MySQL

Melanjutkan artikel sebelumnya tentang “Instalasi WSO2 API Manager di CentOS“, hari ini kita akan membahas konfigurasi WSO2 dengan database MySQL. Secara default, Manajer API WSO2 menggunakan Database H2 tertanam untuk menyimpan data untuk fungsi gateway. Namun, disarankan untuk mengintegrasikannya dengan database MySQL untuk lingkungan produksi. Ingat, Anda dapat terus menggunakan Carbon dengan database H2 karena tidak perlu mengubahnya. Dengan itu, mari kita lanjutkan tutorialnya.

Cara Mengonfigurasi Manajer API WSO2 dengan Database MySQL

Menginstal MySQL

Anda perlu menginstal MySQL Server dan klien sebelum melanjutkan ke bagian berikutnya. Berikut panduan Instalasi MySQL.

Mengatur database dan pengguna

Langkah 1: Setel nama host untuk mengonfigurasi izin basis data di /etc/hosts berkas.

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

Abaikan langkah ini jika server database dan Manajer API Anda sama.

Langkah 2: Mulai server basis data

# systemctl start mysqld

Langkah 3: Masuk ke Mysql sebagai pengguna root dan buat ‘apimadmin ‘ dan ‘sharedadmin ' akun pengguna.

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

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

Langkah 4: Buat database seperti gambar di bawah

mysql > create database apim_db;

mysql > create database shared_db;

Langkah 5: Berikan hak istimewa kepada pengguna untuk database masing-masing.

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

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

Langkah 6: Ya, kita sudah selesai dengan ini. Mari muat ulang semua hak istimewa dan keluar dari MySQL.

mysql > FLUSH PRIVILEGES;

Mengatur driver MySQL untuk WSO2 API-M

Sebelum melanjutkan dengan bagian ini, pastikan Anda sudah menginstal dan mengonfigurasi WSO2 API-M. Jika tidak, buka tautan ini untuk menyiapkan WSO2 API-M dan kembali ke sini.

Langkah 7: Download file JAR MySQL Java Connector dan ekstrak ke folder di bawah ini.

Periksa versi konektor

Pastikan untuk memeriksa apakah konektor MySQL kompatibel dengan versi MySQL yang diinstal.

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

Mengacu pada direktori root dari WSO2 API Manager. Misalnya, Jika Anda telah menginstal WSO2 versi 4.0.0 di lokasi rumah Anda, maka API-M_HOME merujuk ke /home/apigw/wso2am-4.0.0

Anda dapat dengan cepat memeriksa apakah konektor unduhan memiliki kelas Driver – Dengan MySQL Connector/J, nama kelas ini adalah com.mysql.cj.jdbc.Driver .

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

Mengisi database dengan skrip DB WSO2

Langkah 8: Isi kedua database dengan skrip DB WSO2.

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

Perintah di atas akan mengatur shared_db dengan tabel yang diperlukan.

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

Perintah di atas akan mengatur apim_db dengan tabel yang diperlukan.

Ingatlah untuk memasukkan kata sandi saat diminta dengan kata sandi yang dibuat pada langkah 5.

Mengonfigurasi WSO2 dengan sumber data MySQL

Sumber data digunakan untuk membuat koneksi ke database. Ini perlu dikonfigurasi di deployment.toml file seperti yang ditunjukkan di bawah ini.

Langkah 9: Buka <API-M_HOME>/repository/conf/deployment.toml file konfigurasi dan cari [database.shared_db] dan [database.apim_db] elemen konfigurasi.

Langkah 10: Ubah elemen konfigurasi dengan nilai yang diperlukan seperti yang ditunjukkan di bawah ini:

[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"
Ubah kata sandi

Jika server database adalah mesin yang berbeda, maka ingatlah untuk mengubah localhost. Ganti juga nama pengguna dan sandi yang benar.

Apa itu useSSL di URL koneksi basis data?

useSSL argumen di akhir URL koneksi database menonaktifkan koneksi SSL. Anda perlu menggunakan argumen ini hanya jika Anda ingin menonaktifkan koneksi SSL ke database atau Anda berakhir dengan kesalahan di bawah ini saat manajer API dimulai.

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Jangan nonaktifkan SSL di Server Produksi

Anda benar! Jangan pernah lakukan itu di server produksi.

Berikut adalah solusi untuk memperbaiki kesalahan kegagalan tautan Komunikasi.

Langkah 10: Itu dia. Mulai ulang Pengelola API WSO2.

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

Jadi itu saja. Akses semua URL WSO2 untuk memastikan semuanya berfungsi dengan baik.

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

Linux
  1. Optimalkan database MySQL

  2. Cara menyalin database MySQL

  3. Tingkatkan caching Database MySQL

  1. Bekerja dengan Database MySQL cPanel

  2. Konfigurasikan replikasi sumber-sumber MySQL

  3. Impor Database MySQL

  1. Cara Membuat Database di MySQL dengan MySQL Workbench

  2. Pengecualian kegagalan tautan komunikasi – WSO2 dengan MySQL [Perbaiki]

  3. Menginstal Manajer API WSO2 di CentOS