Pernahkah Anda mendengar istilah MyISAM dan InnoDB pada database? Ya, kedua istilah ini mengacu pada storage engine yang digunakan dalam database MySQL untuk mengatur bagaimana data disimpan dan diakses. Pada artikel ini, kami akan berbagi cara mengubah MyISAM ke InnoDB melalui phpMyAdmin dan SSH.
Sebelum kami membahas cara mengubah atau convert MyISAM ke InnoDB, terlebih dahulu kami akan menjelaskan perbedaan antara keduanya, untuk memudahkan Anda dalam memahami artikel ini. Simak informasi berikut ini.
Perbedaan MyISAM dan InnoDB
MyISAM dan InnoDB merupakan dua jenis storage engine yang digunakan dalam database MySQL dan MariaDB. Pemilihan storage engine yang tepat tergantung pada kebutuhan aplikasi Anda, karenanya Anda perlu memahami kebutuhannya terlebih dahulu.
Bila Anda membutuhkan integritas data yang tinggi, performa write yang tinggi, dan skalabilitas, maka InnoDB adalah pilihan yang tepat. Namun jika Anda membutuhkan performa read yang tinggi dan tidak memerlukan integritas data yang tinggi, maka MyISAM dapat menjadi pilihan.
Sayangnya, banyak orang tidak memperhatikan jenis storage engine pada saat membuat tabel database. Sehingga terkadang, kita perlu melakukan perubahan storage engine ketika aplikasi telah selesai dibuat agar aplikasi Anda dapat berjalan dengan baik.
Berikut adalah beberapa perbedaan utama antara MyISAM dan InnoDB yang perlu Anda pertimbangkan sesuai kebutuhan:
MyISAM
- Mendukung penguncian tingkat tabel.
- Dirancang untuk kebutuhan kecepatan
- Tidak mendukung foreign key.
- Menyimpan tabel, data, dan indeksnya di ruang disk menggunakan tiga file berbeda yang terpisah. (nama tabel.FRM, nama tabel.MYD, nama tabel.MYI)
- Tidak mendukung transaksi. Anda tidak dapat melakukan dan melakukan rollback dengan MYISAM. Setelah Anda mengeluarkan perintah, selesai.
- Anda dapat menggunakan MyISAM, jika tabel lebih statis dengan banyak pilihan dan lebih sedikit pembaruan dan penghapusan.
InnoDB
- Mendukung penguncian tingkat baris, sehingga proses CRUD lebih cepat.
- Dirancang untuk kinerja maksimum saat memproses data dalam jumlah besar
- Mendukung foreign key
- InnoDB secara otomatis mengelola alokasi dan dealokasi ruang disk untuk halaman data dan indeks
- Mendukung transaksi. Anda dapat melakukan rollback dengan InnoDB.
- Membutuhkan resource seperti CPU/RAM yang lebih besar daripada MyISAM.
Lalu, bagaimana cara mengubah MyISAM menjadi InnoDB pada hosting cPanel? Simak langkah-langkah berikut ini.
BACA JUGA : Cara Membuat Database di cPanel, Plesk hingga Localhost
Mengubah MyISAM ke InnoDB atau sebaliknya
Setidaknya ada 2 cara yang bisa Anda gunakan, untuk mengubah storage engine database dari MyISAM ke InnoDB. Berikut opsi yang bisa Anda pilih.
Melalui phpMyAdmin
Untuk mengubah storage engine dapat dilakukan dari phpMyAdmin, dengan langkah – langkah sebagai berikut:
- Login ke cPanel atau Plesk Panel kemudian masuk ke menu phpMyAdmin.
- Pilih nama table yang ingin diubah
- Klik tab/menu Operations
- Pada storage engine, silahkan klik dropdown untuk memilih opsi yang tersedia, misalnya “InnoDB”
Kemudian klik Go.
Apabila ingin mengubah storage engine dari InnoDB ke MyISAM, berlaku cara sebaliknya. Pada opsi storage engine ubah InnoDB menjadi MyISAM.
Melalui SSH
Selain melalui phpMyAdmin, anda juga bisa mengubah langsung type storage engine melalui ssh atau terminal dengan menggunakan langkah berikut:
- Seperti biasa, login dulu ke database mysql dengan perintah:
mysql -u username -p
Silakan menyesuaikan username_database menggunakan username yang diberikan hak akses / privileges untuk mengubah database, atau bila menggunakan cPanel atau Plesk bisa menggunakan username cPanel atau username Plesk panel. Setelah itu akan ditanyakan password, masukkan password yang sesuai.
2. Tentukan nama database yang digunakan
USE nama_database;
3. Untuk mengganti table database menggunakan MyISAM, gunakan perintah berikut:
ALTER TABLE nama_table ENGINE=MyISAM;
4. Untuk mengganti table database menggunakan MyISAM, gunakan perintah berikut:
ALTER TABLE nama_table ENGINE=InnoDB;
5. Untuk melihat type storage engine yang digunakan, gunakan perintah berikut:
mysqlshow -u username --status nama_database -p
Demikian panduan mengubah storage engine database dari MyISAM ke InnoDB dan sebaliknya. Semoga bermanfaat!