Skip to main content

Migrasi Database dari MS Access ke MySQL Menggunakan MySQL Workbench

Sejalan dengan kemajuan usaha, perusahaan mungkin juga akan mengembangkan database ke tingkat yang lebih tinggi namun dengan investasi yang tentunya murah. Bila, selama ini, kita menggunakan database Access untuk keperluan penyimpanan data transaksi, ada baiknya untuk mulai mempertimbangkan beralih ke database MySQL.

Ada banyak sekali kelebihan menyimpan database di MySQL dibanding dengan Access. Selain murah, karena bisa di download gratis, besarnya kapasitas penyimpanan data juga sudah tidak perlu diragukan. Belum lagi kalau misalnya perusahaan ingin menampilkan sebagian datanya untuk bisa diakses dari luar melalui browser internet.

Persoalan yang muncul saat beralih menggunakan database dari Access ke MySQL adalah kompatibilitasnya. Belum lagi perancangan database MySQL lebih rumit dari pada Access. Namun demikian, masalah ini bisa diatasi, peralihan bisa dilakukan lebih cepat. Untuk perancangan database MySQL yang mengikuti pola di Access, kita bisa menggunakan MySQL Workbench Migration Wizard. Dengan MySQL Workbench Migration Wizard, kita bisa memetakan setiap detail tabel di Access sesuai dengan detail tabel yang dirancang menggunakan MySQL.Berikut ini adalah cara proses migrasi data dari Access ke MySQL.
Gambar 1 Migration Wizard pada MySQL Workbench
Buka MySQL Workbench, lalu pilih menu Database > Migration Wizard (lihat Gambar 1)
Tab Migration terbuka. Tab Migration berisi daftar tahapan tugas yang akan memandu kita dan mengerjakan migrasi database. Selama proses migrasi, kita dapat membiarkan MySQL wizard untuk secara otomatis melakukan atau mengedit beberapa tugas.
Gambar 2 Tampilan awal Migration Wizard
Sebelum memulai migrasi data, pastikan terlebih dahulu driver ODBC untuk MS Access telah tersedia di dalam daftar driver ODBC data source. Caranya, klik Open ODBC Administrator. Pada jendela ODBC Data Source Administrator, klik tab Drivers dan periksa apakah Microsoft Access Driver tersedia dalam daftar atau tidak, seperti pada Gambar 3 berikut ini.
Gambar 3 Driver Microsoft Access
Bila sudah tersedia, klik kembali ke tab User DSN atau System DSN dan buatlah user atau system data sources untuk file database Access yang ingin dimigrasikan ke MySQL. Untuk cara membuat user atau system data sources, silakan baca di posting yang berjudul..... pada bagian Cara menambahkan ODBC pada User DSN dan System DSN. Gunakanlah Microsoft Access Driver untuk membuat data sourcenya dan pilih database yang ingin dimigrasikan. Pada contoh ini, kita menggunakan user atau system data sources  dengan nama MS Access Akunting dan database bernama Akunting.accdb. Database Akunting.accdb bisa didownload di halaman Download file. Bila sudah selesai, klik OK untuk menutup jendela ODBC Data Source Administrator dan kembali ke MySQL Workbench Migration Wizard.
Gambar 4 Memilih sumber database dan cara koneksinya
Selanjutnya, tekan tombol Start Migration di bagian bawah untuk memulai tugas pertama, yaitu Source Selection (lihat Gambar 4). Masukkan Source RDBMS Connection Parameters sebagai berikut:
  1. Database system: Microsoft Access
  2. Stored Connection: untuk sementara dikosongkan, karena bagian ini berhubungan dengan konfirmasi apakah connection akan disimpan dengan nama tertentu seperti tertulis di bagian bawah.
  3. Connection Method: pilih ODBC Data Source.
  4. DSN: pilih DSN yang telah dibuat, dalam hal ini, kita memilih DSN bernama MS Access Akunting
  5. Default Character Set: biarkan apa adanya (cp1252) yang merupakan default.
  6. Bila ingin digunakan lagi kelak, beri tanda centang pada bagian Store connection for future usage as dan isikan nama connection yang informatif. Dalam hal ini kita kosongkan saja.
Tekan tombol Next.
Gambar 5 Memilih target database dan koneksinya
Tugas kedua adalah Target Selection. Masukkan Target RDBMS Connection Parameters sebagai berikut:
  1. Stored Connection: pilih Local Instance MySQL57 yang merupakan default.
  2. Connection Methor: pilih Standard (TCP/IP) yang merupakan default
  3. Hostname: localhost, Port: 3306
  4. Username: root
Tekan Next untuk melanjutkan tugas ke Fetch Schema List.
Gambar 6 Menguji pemilihan sumber dan target database
Di Fetch Schema List, wizard akan melakukan pengujian pemilihan sumber dan target, serta membaca daftar schema yang ada di sumber RDBMS. Bila pengujian berjalan lancar, semua daftar tugas yang ada di Fetch Schema List diberi tanda centang dan tombol Next menyala. Sebaliknya, bila ada salah satu tugas yang ada di Fetch Schema List gagal dijalankan, wizard akan berhenti pada tugas yang gagal dan tugas ini diberi tanda silang warna merah sebagai tanda gagal. Kita hanya bisa menekan tombol Back, sedangkan tombol Next tidak menyala. Lihat Gambar 6. Bila semua tugas berhasil dijalankan, tekan tombol Next untuk melanjutkan.
Gambar 7 Rekayasa balik ke sumber data
Tugas selanjutnya adalah Reverse Engineer Source. Dalam melakukan tugas ini, wizard akan memetakan struktur tabel yang ada di RDBMS sumber untuk disesuaikan dengan lingkungan MySQL. Beberapa properti field yang kurang pas akan direkayasa sesuai dengan properti field di MySQL. Contohnya seperti Gambar 7 di atas.

Pada gambar itu, wizard telah memetakan tabel tblRekUtama di mana primary key pada tabel itu diatur ulang. Karena primary key tidak boleh bernilai Null, maka wizard mengarahkan properti primary key (dalam hal ini field KodeRek) agar nilai pada data itu tidak boleh Null (Not Null).

Demikian pula dengan field lain yang menjadi primary key di tabel lainnya. Dengan melakukan pemetaan properti field seperti ini, maka tabel yang menjadi target di MySQL otomatis berubah. Oleh karena itu, wizard memberi tahu dengan menampilkan Warning yang berupa tanda seru berwarna kuning. Selama masih berupa Warning dan tidak mengubah isi data, kita bisa melanjutkan wizard ke langkah berikutnya. Tekan Next untuk lanjut.
Gambar 8. Menampilkan objek (dengan menekan tombol Show Selection)
Tugas selanjutnya adalah menampilkan objek yang ada dalam daftar Source Objects yang akan dimigrasikan ke MySQL. Secara default, wizard hanya menampilkan jumlah total objek yang akan dimigrasikan. Bila ingin melihat rincian nama objek, kita harus menekan tombol Show Selection. Hasilnya seperti Gambar 8 di atas.

Dalam gambar di atas, kita dapat menyaring objek apa saja yang harus dimigrasikan. Secara default, semua tabel yang ada dalam RDBMS sumber (dalam hal ini Access) akan dimigrasikan.
Tekan Next untuk melanjutkan ke tugas memproses migrasi.
Gambar 9 Tugas Migration, migrasi RDBMS dari Access ke MySQL
Tugas Migration digunakan untuk memproses secara otomatis, migrasi dari RDBMS sumber (dalam hal ini MS Access) ke MySQL. Istilah MySQL untuk proses migrasi ini adalah reverse engineer atau rekayasa balik. Rekayasa balik digunakan untuk mengkonversi semua objek di Access ke objek yang kompatible dengan MySQL dengan memetakan tipe data dan nilai kolom antara RDBMS di Access dengan MySQL.

Bila ingin melakukan pemetaan secara manual, kita dapat melakukannya saat berada di tugas Manual Editing, setelah menekan tombol Next.
Gambar 10 Manual Editing pada objek target yang akan ditransfer ke MySQL
Pada tugas Manual Editing, bila ada masalah selama proses migrasi, wizard akan menampilkan jumlah masalah yang muncul. Secara default, tampilan View pada manual editing adalah Migration Problem. Bila tidak ada masalah namun ingin melakukan perbaikan pada beberapa objek tertentu, kita bisa mengubah View ke All Objects atau Column Mappings. Dengan kedua view ini, kita bisa mengganti nama object yang ada di kolom Target Object, Target Column, dan Target Type. Walau demikian, kita tidak disarankan untuk melakukan penggantian jika tidak terpaksa.

Pada Gambar 10 di atas, untuk mengganti nama Target Column misalnya, kita hanya perlu mengklik sekali pada nama kolom yang ingin diganti, seperti pada gambar di atas. Bila dirasa tidak perlu ada penggantian nama, silakan tekan tombol Next untuk lanjut.
Gambar 11. Membuat schema di RDBMS target
Di tugas Target Creation Options, kita diminta untuk membuat schema di RDBMS target. Pengertian schema di sini sama dengan file database di Access.

Secara default, wizard akan meminta kita untuk membuat schema di RDBMS target. Selain itu, wizard juga memberikan pilihan untuk membuat file yang berisi kode SQL. Kita dapat mengabaikan pembuatan schema bila sudah ada nama schema di dalam MySQL dengan memberi tanda centang di bagian  Keep schema if they exist. Objects that already exist will not be recreated or updated. Tekan tombol Next untuk melanjutkan ke tugas Create Schemas.
Gambar 12 Create Schemas, wizard akan membuat file kode SQL
Pada tugas Create Schemas, wizard akan membuat file kode SQL (bila diminta seperti di tugas Target Creation Options), Connect to Target Database, Performs Checks in Target, dan Create Schemas and Objects. Bila semua tugas berhasil dijalankan (ada tanda centang), maka kita bisa lanjut ke tugas berikutnya, Create Target Result, dengan menekan tombol Next.

Pada tugas Create Target Result, wizard menjalankan kode untuk menjalankan schema target. Pada tugas ini, belum ada data yang dimigrasikan. Kita diminta memeriksa kembali, apakah objek yang akan dimigrasikan sudah benar atau masih ada perlu perbaikan. Jika masih ada perbaikan, kita diminta menekan tombol Recreate Objects untuk kembali ke tahap Create Schemas. Bila tidak ada masalah di tugas Create Target Result, tekan tombol Next untuk lanjut.
Gambar 13 Melakukan pengaturan transfer data atau Data Transfer Setup
Tugas selanjutnya adalah melakukan pengaturan transfer data atau Data Transfer Setup. Pada tugas ini, kita diminta untuk memilih cara mentransfer data copy-an dari tabel schema yang dimigrasikan ke dalam MySQL Server. Secara default, kita menggunakan copy data tabel secara online ke RDBMS target. Untuk pengaturan lainnya, kita bisa membiarkan pilihan pengaturan seperti apa adanya, atau mengatur ulang sesuai dengan keinginan. Tekan Next untuk memproses transfer dan copy data.
Gambar 14 Bulk Data Transfer, proses mentransfer dan mengcopy data ke target RDBMS dilakukan
Bulk Data Transfer adalah tugas yang paling penting di sini. Di sinilah, proses mentransfer dan mengcopy data ke target RDBMS dilakukan. Jadi, jangan sampai ada gangguan yang sifatnya luar biasa. Bila data yang dicopy berukuran besar, proses transfer bisa jadi akan memakan waktu lama. Jangan sampai di tengah perjalanan, proses gagal dilaksanakan. Karena bila gagal, kita harus mengulang dari awal (Source Selection). Bila proses berjalan lancar, semua tugas yang terdiri dari Prepare information for data copy, Determine number of rows to copy, dan Copy data to target RDBMS diberi tanda centang.
Gambar 15 Laporan hasil migrasi, atau Migration Report
Tugas terakhir adalah Migration Report yang memproduksi laporan selama proses migrasi database dengan menggunakan MySQL Workbench Migration Wizard.
Gambar 16 Database Akunting sudah disimpan di server MySQL.
Bila schema berhasil dibuat, maka pada Local Instance MySQL57 yang merupakan RDBMS target, seperti tertera di Gambar 5 (bagian Stored Connection), akan muncul nama schema beserta rincian tabel di dalamnya.

Comments

Posting Terpopuler

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access

Normalisasi, Denormalisasi, dan Anomali Database