Skip to main content
  1. Posts/

Migrasi Database SQLite3 ke MariaDB

·2 mins·
mysql mysql
Table of Contents

Migrasi database dari SQLite3 ke MariaDB merupakan langkah penting yang sering dilakukan oleh pengembang aplikasi ketika kebutuhan sistem sudah melampaui kemampuan SQLite, atau ketika dibutuhkan fitur lanjutan yang hanya tersedia pada sistem RDBMS seperti MariaDB.

Beberapa alasan utama perlunya migrasi dari SQLite ke MariaDB antara lain:

  • Keterbatasan Skalabilitas SQLite kurang cocok untuk aplikasi dengan volume data besar atau kebutuhan akses multi-user secara simultan.

  • Fitur Lanjutan MariaDB menyediakan fitur-fitur seperti replikasi, partisi tabel, pengelolaan pengguna dan hak akses, serta performa query yang lebih optimal untuk data berskala besar.

  • Kebutuhan Integrasi Banyak aplikasi enterprise dan web server (misalnya LAMP stack) memiliki kompatibilitas yang lebih baik dengan MariaDB.

  • Keamanan dan Manajemen MariaDB mendukung pengelolaan hak akses yang lebih granular serta fitur audit log untuk kebutuhan keamanan dan pemantauan.

Persiapan
#

Sebelum memulai proses migrasi, pastikan hal-hal berikut telah dilakukan:

  • Backup Database Selalu lakukan backup database SQLite untuk menghindari kehilangan data.

  • Persiapan Environment Pastikan MariaDB telah terinstal dan berjalan dengan baik pada server tujuan.

  • Menonaktifkan Layanan Aplikasi Hentikan sementara service aplikasi untuk menjaga konsistensi data selama proses migrasi.

Migrasi Database
#

Terdapat dua metode yang dapat digunakan untuk melakukan migrasi database, yaitu menggunakan Docker dan script Python.

Menggunakan Docker
#

Jalankan container menggunakan image ghcr.io/techouse/sqlite3-to-mysql dengan perintah berikut:

docker run -it \
    --workdir $(pwd) \
    --volume $(pwd):$(pwd) \
    --network uptime-kuma_kuma_network \
    --rm ghcr.io/techouse/sqlite3-to-mysql:latest \
    --sqlite-file kuma.db \
    --mysql-user uptimekuma \
    --mysql-password your_secure_password \
    --mysql-database kuma \
    --mysql-host db

Pastikan parameter berikut telah disesuaikan:

  • --sqlite-file : nama atau path file database SQLite
  • --mysql-user dan --mysql-password : kredensial MariaDB
  • --mysql-database : nama database tujuan
  • --mysql-host : hostname service MariaDB

Tunggu hingga proses migrasi selesai tanpa error.

Menggunakan Python
#

Pastikan Python versi 3.6 atau lebih tinggi telah terinstal.

Clone repositori berikut:

git clone https://github.com/harshavmb/sqlite3tomysql.git

Masuk ke direktori sqlite3tomysql, lalu install dependensi yang diperlukan:

pip install mysql-connector-python

Edit variabel konfigurasi pada file migrate.py sesuai dengan environment Anda:

# Path ke file database SQLite
sqlite_database_file = 'kuma.db'

# Konfigurasi koneksi MariaDB / MySQL
mysql_connection_config = {
    'host': 'localhost',                  # Host database
    'user': 'uptimekuma',                 # Username database
    'password': 'your_secure_password',   # Password database
    'database': 'kuma'                    # Nama database tujuan
}

Setelah konfigurasi selesai, jalankan script migrasi:

python3 migrate.py

Tunggu hingga proses migrasi selesai dan pastikan tidak ada error yang muncul.

Related

MySQL - Date and Time Functions
·5 mins
mysql mysql
Benchmark MySQL Query Menggunakan mysqlslap
·2 mins
mysql mysql
Cara Menggunakan Indexes di MySQL
·9 mins
mysql mysql
Setting Up InnoDB Memcached Plugin in MySQL
·3 mins
mysql mysql
Speed Up Query Joins MariaDB
·1 min
mysql mysql
Optimizing MySQL Using Query Cache
·4 mins
mysql mysql