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.comCatatan:
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 konektorPastikan 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
$ 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
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