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.
Setting Database
- Login ke dalam mysql dengan perintah:
sudo mysql
- 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';
- Buat database dengan nama apim_db dan shared_db.
CREATE DATABASE apim_db character set latin1;
CREATE DATABASE shared_db character set latin1;
- 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';
- Reload hak akses dengan perintah:
FLUSH PRIVILEGES;
- Keluar dari mysql.
quit;
- 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
- Selanjutnya kita import tabel di shared_db.
sudo mysql shared_db < <APIM_HOME>/dbscripts/mysql.sql
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
- 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"
- 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"
- 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)