Import database dengan ukuran besar

Pernah terpikir untuk melakukan proses import database namun ukuran yang akan di import tersebut sangat besar? Misalkan ada file bernama db1.gz yang ukurannya ternyata 400 MB. Dengan ekstensi .gz saja 400 MB, gimana jika di ekstrak?

Jika menggunakan proses upload biasa lewat phpmyadmin jelas tidak akan bisa. Karena untuk mengupload file berukuran 400 MB membutuhkan waktu yang sangat banyak. Kalau pun menggunakan import cara biasa lewat SSH juga kemungkinan besar bakal menemui banyak error, seperti jumlah table yang melebihi kapasitas maka proses import akan berhenti di tengah jalan, padahal tablenya belum semua ter-import.

Nah bagaimana mengakalinya? Caranya agak ribet dikit tapi cara ini bisa dibilang paling aman dan paling mulus. Bukan berarti ribet melibatkan banyak sekali langkah ya. Caranya yaitu kita masuk melalui ssh dan login ke mysqlnya, misal pakai root. Kemudian kita masuk ke databasenya dan locate dimana file sql tersebut berada. Oh ya, pastikan db1.gz tadi di extract dulu menjadi .sql ya.

Misal sudah kita extract ke direktori /root/db1.sql. Kemudian kita login sebagai root (karena di sini saya ambil contoh pakai root ya). Kemudian databasenya yaitu database1.

mysql -u root -p

Setelah berhasil login kita execute comand ini. Pastikan databasenya di kosongkan dulu.

SHOW DATABASES;
DROP DATABASE database1;
CREATE DATABASE database1;
USE database1;
SOURCE /root/db1.sql;

Dengan begitu kita akan mendefine langsung database yang akan kita gunakan melalui interface cli mysql. Diamkan selama beberapa menit karena butuh waktu agak lama untuk load semua table pada mysqlnya.

Jika sudah selesai maka bisa langsung exit dari mysql database dan bisa di cek jumlah table apakah sudah sesuai atau belum.

Nah dengan begini, kita telah berhasil meng-import database yang besarnya melebihi 400 MB dengan metode locate source databasenya. Bisa dibilang cara ini sangat di rekomendasikan untuk yang databasenya benar-benar besar sekali. Semoga bermanfaat, silakan di share. trims.

Leave a Reply

Your email address will not be published. Required fields are marked *