Developer : Tri
Widyayanto Hadi
Adviser : P.
Umam Almuqtassid
Tugas
Backup dan Recovery Database
1.
Apa yang dimaksud dengan
proses backup dan restore dalam database ?
ü BACKUP
Backup secara sederhana
diartikan sebagai proses copy data operasional ke media lain. Pilihan metode
dan strategi backup yang digunakan tergantung dari kebutuhan dan kondisi.
ü RESTORE
Proses mengembalikan atau
copy file backup database ke server database (3). Setelah proses restore
selesai berarti database kembali pada kondisi saat terakhir kali dibackup atau
kalau pada gambar database kembali ke kondisi t1.
ü DATABASE
Database atau basis data adalah kumpulan data yang disimpan
secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi
menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi.
Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur data
dan juga batasan-batasan data yang akan disimpan. Basis data merupakan aspek
yang sangat penting dalam sistem informasi dimana basis data merupakan gudang
penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting
karena dapat mengorganisasi data, menghidari duplikasi data, hubungan antar
data yang tidak jelas dan juga update yang rumit.
2.
MySQL menyediakan
beberapa jenis format tabel yang penggunaannya tergantung dari tujuan pembuatan
tabel tersebut. Sebutkan jenis-jenis format tabel tersebut !
ü
1.
EXAMPLE : Tabel jenis ini
disediakan oleh MySQL tanpa didukung feature apapun. tabel jenis ini hanya
digunakan sebagai contoh untuk memulai membuat sebuah tabel. Ketika kita
membuat tabel dengan jenis ini, filenya tetap akan disimpan pada database
direktori dengan ekstensi .
frm
.
Tidak ada data yang akan disimpan dalam direktori database. Kita juga tidak
dapat melakukan penyimpanan data dalam tabel jenis ini.
ü
2.
CSV : Tabel jenis ini menyimpan
data pada text file dengan pemisah koma. Ketika kita membuat tabel dengan jenis
ini, filenya akan disimpan pada database direktori dengan ekstensi
frm
,
dan data akan disimpan dengan ekstensi .CVS
berdasarkan
nama tabel yang dibuat.
ü
3.
MyISAM : Tabel jenis ini
diperuntukkan bagi anda yang membutuhkan kecepatan yang tinggi, namun dengan
kelemahan tidak ada toleransi kesalahan dalam pemrosesan data. Adapun kelebihan
dari jenis ini adalah mendukung fasilitas pencarian dengan fungsi full-text dan
kemudahan dalam perbaikan tabel. Data-data MyISAM disimpan dalam direktori
database terdiri atas 3 jenis, yaitu
nama_tabel.frm
, nama_tabel.myd
, nama_tabel.myi
. FRM
menyimpan schema tabel, MYD
menyimpan data-data,MYI
menyimpan data-data index. Tabel jenis
ini mendukung jumlah index sampai dengan 64 buah index.
ü
4.
BLACKHOLE : Inilah salah satu jenis
tabel yang paling unik, karena sewaktu kita membuat tabel dengan jenis ini dan
kita menambahkan data, maka tabel blackhole tidak akan menyimpannya namun
melemparkannya. Pada prakteknya tabel blackhole sering dipakai pada seseorang
yang tidak menginginkan menyimpan sebuah data pada tabel namun file log. File
Log sangat bermanfaat untuk proses replikasi replikasi. Kita dapat mengatur
agar master tidak menerima data apapun, namun berguna untuk meneruskan data
pada Slave sehingga hanya Slave yang memiliki data.
ü
5. MRG_MYISAM : Tabel jenis ini juga merupakan jenis
tabel yang unik. Jenis ini merupakan gabungan dari beberapa tabel
MyISAM
.
Penggabungan ini dimaksudkan untuk mempermudah pencarian dan manajemen data
terhadap beberapa tabel MyISAM
karena
hanya menggunakan sebuah tabel MRG_ISAM
saja. Yang perlu diperhatikan ketika
membuat jenis tabel ini adalah, diantara tabel MRG_MyISAM
dan tabel Merge yang merupakan
gabungan harus mepunyai kolom2 yang identik. Tabel ini tidak mempunyai batasan
penyimpanan, namun tabel2 MyISAM
yang merupakan gabungannya mempunyai
batasan berdasarkan
Sistem Operasinya. Tabel jenis ini
seperti
InnoDD
dalam hal penyimpanan data.
Sebetulnya tabel jenis ini tidak
mempunyai data apapun, ia hanya memiliki link atau lokasi kedalam kedua tabel
MyISAM
yang telah digabung. Ketika kita
menghapus data dalam tabel MRG_MyISAM,
maka data pada lokasi aslinya turut
terhapus. Perlu diperhatikan, kita tidak diperkenankan untuk menggunakan
perintah ALTER
TABLE
pada jenis
tabel ini karena jika demikian, maka link atau lokasi pada tabel penggabungan
akan hilang.
ü
6. InnoDB : Jenis tabel ini adalah jenis tabel
favorit saya. Selain mendukung proses transaksi, tabel jenis ini juga
diperuntukkan bagi kita yang tidak dapat mentolerir transaksi. Cocok digunakan
sebagai komputer server yang memproses data yang sangat besar. Untuk kecepatan,
InnoDB
memang kalah dibanding MyISAM
namun dalam hal pemrosesan data tabel
ini jauh lebih baik. Tabel ini menyimpan data2 yang sedang diproses dalam
memori komputer untuk mempercepat proses MySQL. InnoDB tidak mempunyai batasan
penyimpanan data meskipun file system OS mempunyai batasan penyimpanan. InnoDB
juga mempunyai kriteria Row level Locking yang memungkinkan penguncian tabel
hanya untuk data-data tertentu saja. Penguncian ini hanya akan dilakukan ketika
data tersebut sedang digunakan sehingga tidak tersedia bagi user yang lain.
Tabel InnoDB mempunyai file Log
tersendiri dan terdiri dari beberapa buah. Kita dapat mementukan jumlah file
log yang digunakan melalui konfigurasi innodb_log_files_in_group. InnoDB
mendukung penggunaan Constraint
FOREIGN
KEY
sehingga
memudahkan pendeklarasian foreign key. Selain itu juga mendukung penggunaan
keyword ON
DELETE
dan ON UPDATE
.
Operasi yang dapat digunakan terhadap tabel foreign key antara lain :
– CASCADE
Jika ada perubahan maupun penghapusan pada tabel Primary
Key, maka MySQL juga akan turut menghapus atau mengubah data pada tabel Foreign
Key.
– RESTRICT
Jika ada perubahan maupun penghapusan pada tabel Primary
Key, maka MySQL tidak akan menghapus atau mengubah data yang sama pada tabel
Foreign Key.
– SET
NULL
Jika ada perubahan maupun penghapusan pada tabel Primary
Key, maka MySQL mengosongkan data yang sama pada tabel Foreign Key.
– NO
ACTION
Keyword ini berguna untuk menolak perubahan atau
penghapusan data pada tabel Primary Key jika terdapat data yang sama pada tabel
Foreign Key. Bila pada tabel Foreign Key tidak sudah tidak ada yang sama, maka
akan diijinkan untuk melakukan penghapusan atau perubahan data pada tabel
Primary.
ü
7. ARCHIVE : Tabel jenis ini adalah jenis tabel
yang dipadatkan. Tabel ini diperuntukkan bagi yang menyimpan data-data yang
besar karena penyimpanan dari tabel ini sangat kecil. Kita dapat menggunakan
perintah
SELECT
dan INSERT
namun kita tidak dapat menggunakan
perintah DELETE
, UPDATE
maupun REPLACE
karena tabel ini hanya digunakan untuk
memasukkan dan membaca saja. Tabel ini juga tidak mendukung klausa ORDER BY
dalam perintah SELECT
.
ü
8. MEMORY : Pemyimpan data pada jenis tabel ini
tersimpan secara sementara dalam memory komputer. Ketika Server komputer
dimatikan, secara otomatis data akan dihapus dari memori komputer. Tabel jenis
ini cocok digunakan untuk pembuatan tabel sebelum membuat tabel aslinya. Sudah
pasti tabel ini bekerja lebih cepat daripada tabel lainnya karena bekerja dalam
memori komputer. Besar penyimpanan tabel ini pun dialokasikan dengan ukuran
yang lebih kecil mengingat penyimpanannya ada pada memori dan bersifat statik.
ü
9. FEDERATED : Tabel ini digunakan untuk mengakses
data pada tabel lainnya. Tabel jenis ini tidak mempunyai data apapun seperti
halnya tabel
MRG_MyISAM
.
Tabel ini biasanya digunakan untuk mengakses tabel MySQL Remote. Tabel jenis
ini juga tidak mendukung transaksi dan perintah DDL(Data Definition Language)
dan tidak bisa mengetahui apabila telah terjadi perubahan Schema tabel pada
tabel remote yang diakses.
3.
Sebutkan proses backup
dan restore yang anda ketahui dalam database MySQL !
ü Backup harian otomatis
Di server hosting
berbasis Spanel, proses backup lokal harian yang dijalankan oleh sistem secara
otomatis telah membackup database Anda secara rutin. Hasil backup adalah file
<NAMADB>.sql.gz yang terletak di subdirektori mysql/ di account Anda.
<NAMADB> adalah nama database MySQL Anda. .sql.gz adalah format SQL yang
dikompresi dengan gzip, dapat diekstrak di Unix maupun Windows. File ini
dihasilkan dengan perintah mysqldump dan opsi antara lain --add-drop-tables dan
Anda bisa tinggal mengkopi/mendownload file ini ke komputer Anda menggunakan
fasilitas Kelola File control panel hosting, atau FTP, atau scp.
ü Melakukan
backup manual
Jika Anda butuh untuk
melakukan backup sendiri secara manual, Anda dapat menggunakan phpMyAdmin atau
mysqldump via console (SSH):
menggunakan
phpMyAdmin
XXX (note: opsi
--add-drop-tables).
menggunakan
mysqldump
XXX
ü Melakukan
Restore
Hasil backup berbentuk
file .sql atau .sql.gz dapat langsung diumpankan ke MySQL menggunakan
phpMyAdmin atau program klien console mysql. Proses ini akan menghapus tabel
(DROP TABLE) yang ada saat ini di database lalu membuatnya (CREATE TABLE) dan
mengisinya kembali (INSERT INTO) berdasarkan informasi yang ada di file SQL
tersebut.
menggunakan
phpMyAdmin
menggunakan
program console mysql
XXX
memilih
restore dari histori backup
Karena satu dan lain hal
(misalnya ada kerusakan data, ada kecelakaan sehingga data hilang) kadang kita
ingin kembali ke kondisi database pada waktu lampau. Di server hosting berbasis
Spanel, tersedia histori backup hingga 3 bulan ke belakang. Termasuk dalam
histori backup ini adalah database MySQL.
Untuk mencari backup
database versi lampau ini, kita perlu login ke control panel hosting lalu ke
Kelola File. Lalu pindahlah ke direktori /mysql. Lalu pada pilihan volume,
pilihlah Backup Terbaru, atau Histori Backup pada tanggal tertentu. Setelah itu
download atau kopi-pastekanlah filenya ke lokasi lain.
restore
sebagian tabel saja
XXX (perlu mengedit dulu
file .SQL-nya)
ü Panduan Pengguna Spanel
4.
Dengan menggunakan MySQL
Console, buatlah sebuah database dengan nama latihan, kemudian dalam
database tersebut buat sebuah table dengan struktur sebagai berikut :
Nama Kolom
|
Type Data
|
no_buku
|
char(5)
|
Judul_buku
|
varchar(100)
|
Penulis
|
varchar(50)
|
penerbit
|
varchar(50)
|
thn_terbit
|
char(4)
|
Jawab
5.
Setelah
proses pembuatan table selesai, isi table tersebut!
Jawab
6.
Untuk
memastikan bahwa proses pemasukan data (insert) berhasil, lakukan proses untuk
menampilkan data dari table buku tersebut !
Jawab
7.
Kemudian
lakukan proses backup terhadap table buku tersebut !
Jawab
8.
Lakukan
proses restore file hasil backup diatas ke table buku !
9.
Lakukan
proses backup terhadap database latihan tersebut dengan menggunakan tool
mysqldump!
10. Melakukan proses backup dengan tool
mysqldump memiliki beberapa kelebihan, sebutkan!
Tidak ada komentar:
Posting Komentar