DEV Community

Cover image for WSO2 APIM menggunakan Mysql sebagai database
agus merdeko
agus merdeko

Posted on

WSO2 APIM menggunakan Mysql sebagai database

Secara default WSO2 API Manager menggunakan H2 sebagai databasenya, yang berlokasi di /repository/database. Database H2 ini tidak disarankan digunakan untuk production, sebaiknya gunakan RDBMS seperti Oracle, PostgreSQL, MySQL, MS SQL, dll.

Di artikel sebelumnya kita masih menggunakan H2 sebagai databasenya, oleh karena itu sekarang kita akan mencoba mengganti databasenya menggunakan Mysql.

Persiapan Awal

  • Pertama Mysql telah terinstall, dalam tutorial ini yang digunakan Mysql bawaan Ubuntu 24.04 yaitu versi 8.0.41
  • Download MySQL Java Connector di MySQL Connector/J (Archived Versions), pilih Product Version: 8.0.* dengan Operating System: Platform Independent, download file zip atau tar di daftar file yang tersedia.

Download mysql java connector

Setting Database

  • Login ke dalam mysql dengan perintah:
sudo mysql
Enter fullscreen mode Exit fullscreen mode
  • Buat user untuk mengakses database dari wso2 apim, disini kita buat user apimuser dengan password apimpass, silahkan ubah sesuai kebutuhan.
create user 'apimuser'@'localhost' identified by 'apimpass';
Enter fullscreen mode Exit fullscreen mode
  • Buat database dengan nama apim_db dan shared_db.
CREATE DATABASE apim_db character set latin1;
CREATE DATABASE shared_db character set latin1;
Enter fullscreen mode Exit fullscreen mode
  • Selanjutnya kita akan beri akses user yang sebelumnya dibuat agar bisa mengakses database.
grant all privileges on apim_db.* to 'apimuser'@'localhost';
grant all privileges on shared_db.* to 'apimuser'@'localhost';
Enter fullscreen mode Exit fullscreen mode
  • Reload hak akses dengan perintah:
FLUSH PRIVILEGES;
Enter fullscreen mode Exit fullscreen mode
  • Keluar dari mysql.
quit;
Enter fullscreen mode Exit fullscreen mode
  • Saatnya untuk mengimport tabel yang diperlukan kedalam database. Pertama kita akan mencoba mengimport tabel di apim_db.
sudo mysql apim_db < <APIM_HOME>/dbscripts/apimgt/mysql.sql
Enter fullscreen mode Exit fullscreen mode
  • Selanjutnya kita import tabel di shared_db.
sudo mysql shared_db < <APIM_HOME>/dbscripts/mysql.sql
Enter fullscreen mode Exit fullscreen mode

Merubah Database WSO2 API Manager

  • Salin file MySQL Java Connector yang sebelumnya telah didownload (mysql-connector-j-8.0.*.jar) ke folder <APIM_HOME>/repository/components/lib/
  • Buka file konfigurasi wso2 api manager dengan perintah:
vim <APIM_HOME>/repository/conf/deployment.toml
Enter fullscreen mode Exit fullscreen mode
  • Disini kita tinggal rubah mysql url, database, dll, yang dibutuhkan untuk mengakses database. Pertama rubah bagian database apim_db.
[database.apim_db]
type = "mysql"
url = "jdbc:mysql://localhost:3306/apim_db?allowPublicKeyRetrieval=true&useSSL=false"
username = "apimuser"
password = "apimpass"
driver = "com.mysql.cj.jdbc.Driver"
Enter fullscreen mode Exit fullscreen mode
  • Selanjutnya kita rubah bagian database shared_db.
[database.shared_db]
type = "mysql"
url = "jdbc:mysql://localhost:3306/shared_db?allowPublicKeyRetrieval=true&useSSL=false"
username = "apimuser"
password = "apimpass"
driver = "com.mysql.cj.jdbc.Driver"
Enter fullscreen mode Exit fullscreen mode
  • Simpan file konfigurasi, dan restart WSO2 API Manager.

Selesai sudah untuk tutorial kali ini, jangan lupa kalau ada pertanyaan silahkan kirim komentar dibawah, sampai jumpa lagi di artikel selanjutnya.

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay