MODUL II REPLIKASI NATIF (ONE-WAY) MySQL

dokumen-dokumen yang mirip
MODUL III REPLIKASI MULTI-MASTER (TWO-WAY)

[PRAKTIKUM BASIS DATA TERDISTRIBUSI D3 TI UNS]

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 6 REPLIKASI NATIF (ONE-WAY) MYSQL. Oleh: ANISA ISTIQOMAH ABDURRACHMAN KELAS 6C

REPLIKASI. D3 Komputer dan Sistem Informasi Sekolah Vokasi UGM Praktikum Basis Data 2 - rizkiaf

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 7 REPLIKASI MULTI MASTER (TWO-WAY) MYSQL. Oleh: ANISA ISTIQOMAH ABDURRACHMAN KELAS 6C

PRAKTIKUM SISTEM BASIS DATA

Replikasi Database dengan SSL (Secure Socket Assalamualaikum Warahmatullahi Wabarakatu

Sistem Manajemen Basis Data

SISTEM TERDISTRIBUSI TUGAS 3 REPLIKASI DATABASE MASTER - SLAVE

Gambar 4.8 Topologi replikasi basis data. Gambar 4.9 Konfigurasi IP pada master dan slave

Pembandingan Metode Backup Database MySQL antara Replikasi dan MySQLDump

MODUL I PENGENALAN MYSQL

IMPLEMENTASI REPLIKASI DATA SISTEM INFORMASI AKADEMIK STMIK PROFESIONAL MAKASSAR

PERINTAH DASAR MySQL

MySQL J A M K E T I G A

ADMINISTRASI USER. I. Konfigurasi User Root mysql> Show Databases; mysql> Use Mysql; mysql> Show Tables; mysql> Select user,host,password from user;

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

Perancangan dan Pembangunan Sistem Failover Pada MySQL Menggunakan Heartbeat dan MySQL Native Replication untuk Menunjang Ketersediaan Data Online

IMPLEMENTASI DISTRIBUTED DATABASE SEBAGAI DISASTER RECOVERY CENTER. Canggih Ajika Pamungkas, Edy Susanto

Implementasi Disaster Recovery Plan Dengan Sistem Backup Data Menggunakan Replikasi Database Pada SI Akademik AMIK AKMI Baturaja

MySQL AL AZHAR COMPUTER CLUB

( Dari Ms-DOS windows, diasumsikan mysql client berada pada direktori tersebut.) mysql ( dari Linux). mysql --help

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

PRAKTIKUM SISTEM BASIS DATA

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

TUGAS PRAKTIKUM SISTEM BASIS DATA

Perintah - Perintah Dasar Pada MySQL

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Seri 01 : Belajar Database MySQL

MODUL II SQL A. TUJUAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Tutorial Singkat MySQL Menggunakan AppServ versi for Windows

MODUL 1 Pengenalan MySQL, DDL, DML

BAB III PERANCANGAN SISTEM

PENERAPAN TEKNOLOGI REPLIKASI PADA BASIS DATA TERDISTRIBUSI BIMAS HINDU KEMENAG PROVINSI SUMATERA SELATAN

MODUL VIII BASIS DATA TRANSACTION

IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

LAPORAN TUGAS BASIS DATA I

Pengenalan Structured Query Language

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Manajemen Data dengan Database MySQL Supriyono, M.Kom

JobsheetTEUM MODUL VI TRIGGER

MYSQL uroot hserver -ptrigunadharma

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

Pemrograman Web Lanjut 2017

Praktikum Basis Data 2017 TE UM

MODUL 8 Mengoperasikan Perangkat Lunak Basis Data

MODUL II. Instalasi OracleXE Dan SQL

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Gambar Notifikasi via

Pertemuan 12 Pengenalan Structured Query Language

Manajemen User Pada MySQL

Mengenal Operasi Dasar SQL

VIEW : Tabel Virtual VIEW 5/29/2017

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

PRAKTIKUM SISTEM BASISDATA

Praktek Pemrograman Web

Modul 2 Manajemen Database (User, Group, Database)

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL 8 MEMBUAT USER DAN MENGAKSES DATABASE

MODUL 5 INTERNET PROGRAMMING : MySQL

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

7 VARIASI INSERT YANG TERLUPAKAN

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

Modul 3 : Query Penggabungan Tabel

Database. Danu Wira Pangestu 1. Mengenal Database. Lisensi Dokumen:

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

E-trik Ajax. Database MySQL. Dedi Alnas

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

ANALISIS DAN PERANCANGAN REPLIKASI BASIS DATA MENGGUNAKAN METODE ASYNCRONOUS (STUDI KASUS PENGOLAHAN DATA NILAI SISWA)

MODUL 9 WEB PROGRAMMING : MySQL

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

PENGENALAN SINTAKS DASAR DALAM MySQL

MODUL 10 TRANSACTION

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

SISTEM INFORMASI TERDISTRIBUSI PADA MANAJEMEN INVENTARISASI PERALATAN LABORATORIUM

Tutorial Singkat MySQL

BAB XIV ADMINISTRASI MYSQL

BASIS DATA TERDISTRIBUSI

Membuat Database mysql dengan PhpMyAdmin

VINCENSIUS YUDHISTIRA LINDUNG S. FB :

MODUL 4 INTERNET PROGRAMMING DATABASE

Kontrak Kuliah. Management User dan Akses Kontrol. Edi Sugiarto, S.Kom, M.Kom

MODUL VI INTERAKSI DATABASE

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

KURSUS ONLINE JASA WEBMASTERS

INTERNET PROGRAMMING DATABASE

d. Primary Key Primary key atau unique key adalah suatu nilai di basis data yang digunakan untuk mengidentifikasi keunikan baris-baris di dalam tabel.

SISTEM KEAMANAN PADA MYSQL

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

Tahap Instalasi PostgreSQL di Windows

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Transkripsi:

MODUL II REPLIKASI NATIF (ONE-WAY) MySQL A. TUJUAN Memahami konsep dasar replikasi basis data. Memahami teknik komunikasi jaringan dan client/server DBMS. Mampu mengimplementasikan pendistribusian basis data melalui pendekatan replikasi (one-way). B. PETUNJUK Awali setiap aktivitas dengan do a, semoga berkah dan mendapat kemudahan. Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar. Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur. Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas. C. DASAR TEORI 1. Desain Basis Data Terdistribusi Sebagaimana diketahui, di dalam sistem basis data terdistribusi, file-file basis data diletakkan pada beberapa database server di komputer-komputer terpisah. Langkah ini bisa dilakukan pada perangkat lunak database (DBMS ) yang sama atau bahkan yang berlainan vendor sekalipun. Dalam perancangan dan pembuatan basis data terdistribusi, ada beberapa pendekatan yang dapat digunakan, yaitu replikasi, alokasi, serta fragmentasi. Meskipun masing-masing cara memiliki proses yang berbeda, akan tetapi tujuannya adalah sama, yakni mendistribusikan basis data. 2. Replikasi Natif MySQL Di praktikum ini, diberikan batasan bahwa pendekatan yang digunakan adalah replikasi natif (one-way). Adapun DBMS yang akan digunakan untuk mengimplementasikan replikasi adalah MySQL. Dengan demikian, DBMS- DBMS dan pendekatan-pendekatan lainnya tidak tercakup di dalam pembahasan modul ini. Pendistribusian dalam bentuk replikasi multi-master (two-way) akan dijelaskan di pertemuan selanjutnya. 9

3. Arsitektur dan Desain Untuk dapat mengimplementasikan sistem basis data terdistribusi minimal diperlukan dua buah komputer yang terhubung satu sama lain. Selain itu, di masing-masing komputer telah terinstal DBMS, misalnya di sini adalah MySQL server. Sebagai ilustrasi, skema sistem basis data terdistribusi yang akan diimplementasikan diperlihatkan seperti Gambar 1. LAN/WAN Server 1 (Master) Server 2 (Slave) Gambar 1. Skema basis data terdistribusi Spesifikasi dari masing-masing komputer misalkan diperlihatkan seperti tabel berikut: Spesifikasi Server 1 (Master) Server 2 (Slave) Sistem Operasi Ubuntu 8.04 Ubuntu 8.04 DBMS MySQL 5.0 MySQL 5.0 IP Address 192.168.0.100 192.168.0.200 Pada praktikum ini, salah satu komputer akan bertindak sebagai master dan satunya lagi sebagai slave. Ini juga berarti bahwa pendistribusian dilakukan dua arah (two-way). Jadi, modifikasi hanya dapat dilakukan dari mesin master. Master Slave LAN/WAN Read / Write Read-only Client Gambar 2. Skema desain master-slave 10

D. LATIHAN 1. Menguji Komunikasi Jaringan Komputer Untuk mendukung pendistribusian data, tentunya kita perlu memastikan bahwa komunikasi jaringan dapat dilakukan dengan baik. Sebagai langkah awal, untuk memeriksa informasi alamat IP dan media komunikasi, gunakan perintah ifconfig (ketikkan di terminal) ifconfig Coba untuk mengirim paket ke Server 2 dengan memanfaatkan tool ping. Sesuaikan alamat IP-nya dengan komputer yang Anda gunakan. ping 192.168.0.200 Begitu juga sebaliknya, kita bisa menguji komunikasi ke Server 1 dengan menggunakan tool ping. ping 192.168.0.100 Apabila komunikasi belum berjalan dengan baik, periksa media komunikasi atau konfigurasi jaringannya. 2. Menguji Client/Server MySQL Untuk menguji client/server DBMS, sebaiknya kita menciptakan user baru secara khusus. Langkah ini merupakan upaya preventif guna mencegah halhal yang tak diinginkan misal penghapusan data sistem secara tak sengaja. Skenario dalam pembuatan user ini adalah: menciptakan user di mesin master yang dapat digunakan di mesin slave. Untuk lebih jelasnya, masuk ke command-prompt MySQL di mesin master, kemudian ketikkan perintah berikut: GRANT ALL ON *.* TO 'guest'@'192.168.200' IDENTIFIED BY 'guest'; Perintah di atas akan menciptakan user baru di mesin master yang hanya bisa diakses dari mesin slave (dinyatakan melalui alamat IP). Terlebih dahulu terapkan konfigurasi penambahan user dengan mengetikkan FLUSH PRIVILEGES. mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.1 sec) Untuk memulai pengujian client/server, masuk ke terminal di mesin slave, kemudian login dengan mengetikkan perintah seperti berikut: mysql -h 192.168.0.100 -u guest -p Enter password: Jika login dapat dilakukan yang dinyatakan melalui munculnya prompt MySQL, maka akses dari client ke server sudah dapat bekerja dengan baik. 11

Sebaliknya, jika belum, pastikan bahwa user root MySQL di mesin master sudah ditetapkan untuk dapat diakses dari luar host. Tugas Kecil Lakukan operasi-operasi penambahan dan seleksi di mesin master melalui mesin slave. Amati hasilnya! 3. Menciptakan Basis Data Sebelum melangkah lebih lanjut, sebaiknya kita menciptakan terlebih dahulu basis data yang nantinya akan didistribusikan melalui pendekatan replikasi. Tahap ini mengasumsikan bahwa basis data belum pernah dibuat sebelumnya. Apabila Anda sudah memiliki basis data (sebagaimana dibuat pada pertemuan sebelumnya), pastikan bahwa strukturnya baik di mesin master maupun slave sama persis. Menciptakan Basis Data di Mesin Master Di mesin master, kita menciptakan basis data dan tabel dengan langkah sebagai berikut: 1. Buka terminal di mesin master. 2. Login sebagai root mysql -u root p mysql 3. Setelah login berhasil, ketikkan perintah pembuatan basis data sebagai berikut: CREATE DATABASE akademik; 4. Untuk dapat bekerja di basis data akademik, maka kita harus mengaktifkannya terlebih dahulu. USE akademik 5. Buat tabel mahasiswa. CREATE TABLE mahasiswa ( nim INT(12) NOT NULL, nama VARCHAR(30) NOT NULL, alamat VARCHAR(60), PRIMARY KEY (nim) ) ENGINE = MyISAM; 6. Untuk melihat struktur tabel, gunakan perintah DESC. mysql> DESC mahasiswa; +---------------+--------------+------+-----+---------+-------+ Field Type Null Key Default Extra +---------------+--------------+------+-----+---------+-------+ nim int(12) NO PRI NULL nama varchar(30) NO NULL alamat varchar(60) YES NULL +---------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) 12

Menciptakan Basis Data di Mesin Slave Sama seperti langkah-langkah pembuatan basis data di mesin master, kita juga menciptakan basis data dan tabel di mesin slave. 1. Buka terminal di mesin slave. 2. Login sebagai root mysql -u root p mysql 3. Setelah login berhasil, ketikkan perintah pembuatan basis data sebagai berikut: CREATE DATABASE akademik; 4. Aktifkan basis data akademik. USE akademik 5. Buat tabel mahasiswa. CREATE TABLE mahasiswa ( nim INT(12) NOT NULL, nama VARCHAR(30) NOT NULL, alamat VARCHAR(60), PRIMARY KEY (nim) ) ENGINE = MyISAM; 6. Untuk melihat struktur hasil pembuatan tabel, gunakan perintah DESC. mysql> DESC mahasiswa; +---------------+--------------+------+-----+---------+-------+ Field Type Null Key Default Extra +---------------+--------------+------+-----+---------+-------+ nim int(12) NO PRI NULL nama varchar(30) NO NULL alamat varchar(60) YES NULL +---------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) Untuk kasus yang kompleks, sebaiknya basis data di slave tidak diciptakan secara manual, melainkan di-copy langsung dari mesin master. 4. Membuat User Replikasi Perlu diperhatikan, pembuatan user di tahap sebelumnya hanya sekadar untuk menguji komunikasi client/server MySQL. Bagaimanapun, untuk user pendistribusian data sebaiknya dibuat tersendiri dengan hak akses yang sangat restriktif. Membuat User Replikasi di Mesin Master Di mesin master (server), kita perlu menciptakan user dengan hak akses replication slave. Adapun langkah-langkahnya adalah sebagai berikut: 13

1. Buka terminal di mesin master. 2. Login sebagai root mysql -u root p mysql 3. Setelah login berhasil, ketikkan perintah pembuatan user seperti berikut: GRANT REPLICATION SLAVE ON *.* TO 'master'@'192.168.0.200' IDENTIFIED BY 'master'; 4. Perintah di atas akan menciptakan user baru bernama server2 dan dengan password server2. 5. Terapkan modifikasi pada tabel sistem. FLUSH PRIVILEGES; Untuk memastikan bahwa user berhasil dibuat, lakukan login dari mesin slave. Apabila login berhasil, berarti tahap ini sudah berhasil kita lakukan dengan baik. 5. Konfigurasi Replikasi Konfigurasi ini merupakan langkah sesungguhnya di dalam pendistribusian basis data. Langkah ini dilakukan pada kedua komputer, baik mesin master maupun slave. Konfigurasi Mesin Master Perhatikan, konfigurasi ini dilakukan dengan posisi user aktif berada di mesin master (Server 1). 1. Buka terminal. 2. Buka file konfigurasi MySQL. sudo gedit /etc/mysql/my.cnf 3. Cari directive [mysqld], kemudian tambahkan/modifikasi baris berikut: [mysqld] # Id unik untuk identifikasi master server-id = 1 replicate-same-server-id = 0 # pengaturan field auto increment auto-increment-increment = 2 auto-increment-offset = 1 # file log log-bin = /var/log/mysql/mysql-bin.log # Me-log update ke log biner binlog-do-db = akademik relay-log = /var/lib/mysql/slave-relay.log relay-log-index = /var/lib/mysql/slave-relay-log.index 14

expire_logs_days = 5 max_binlog_size = 100M 4. Simpan kembali file konfigurasi MySQL. 5. Kembali ke terminal, kemudian restart MySQL server. sudo /etc/init.d/mysql restart Untuk memeriksa status master, gunakan perintah SHOW MASTER STATUS. mysql> SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB mysql-bin.000001 98 akademik 1 row in set (0.00 sec) Hasil tampilan status master sangat bergantung pada pengaturan dan log aktif. Dengan demikian sangat mungkin tidak sama persis seperti contoh di atas. Konfigurasi Mesin Slave Di mesin slave, kita juga melakukan langkah-langkah konfigurasi meski tidak sama persis dengan mesin master. Tujuan konfigurasi ini adalah mempersiapkan mesin slave agar siap menjadi slave bagi mesin master. Langkah-langkah konfigurasi yang dilakukan adalah sebagai berikut: 1. Buka terminal. 2. Buka file konfigurasi MySQL. sudo gedit /etc/mysql/my.cnf 3. Cari directive [mysqld], kemudian tambahkan/modifikasi baris berikut: # Id unik (jangan sama dengan master) server-id = 2 # IP address master (Server 1) master-host = 192.168.0.100 master-user = master master-password = master master-connect-retry = 60 replicate-do-db = akademik 4. Simpan kembali file konfigurasi MySQL. 5. Kembali ke terminal, kemudian restart MySQL server. sudo /etc/init.d/mysql restart 15

Untuk memeriksa status master, gunakan perintah SHOW MASTER STATUS. mysql> SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB mysql-bin.000001 98 akademik 1 row in set (0.00 sec) Aktivasi Replikasi Konfigurasi ini dilakukan untuk sinkronisasi informasi di master oleh slave serta memulai replikasi. Konfigurasi ini secara garis besar hanya dilakukan di mesin slave saja. Penting sekali diperhatikan, dalam melakukan konfigurasi ini maka kedua komputer harus tetap berhubungan. Dengan kata lain, tidak boleh ada salah satu komputer yang dimatikan. Konfigurasi dan Aktivasi Mesin Slave Untuk melakukan konfigurasi akhir dan aktivasi replikasi di mesin slave, lakukan langkah-langkah berikut: 1. Masuk prompt MySQL atau gunakan prompt yang masih terbuka. 2. Terlebih dahulu matikan mesin slave. mysql> SLAVE STOP; 3. Lihat status terbaru dari master. Misalkan hasilnya diperlihatkan seperti berikut: mysql> SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB mysql-bin.000001 98 akademik 1 row in set (0.00 sec) 4. Jalankan perintah berikut untuk menjadikan Server 2 sebagai slave Server 1. Perhatikan, nilai-nilai atribut berikut HARUS disesuaikan dengan informasi status master dan konfigurasi utama. mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.100', -> MASTER_USER='master', -> MASTER_PASSWORD='master', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=98; Sekali lagi, nilai MASTER_LOG_FILE dan MASTER_LOG_POS harus merujuk ke informasi status master terbaru. 16

5. Jalankan Server 2 sebagai slave. mysql> START SLAVE; 6. Untuk memastikan bahwa Server 2 telah siap menjadi slave, periksa statusnya. mysql> SHOW SLAVE STATUS\G ************************ 1. row ************************* Master_Host: 192.168.0.100 Master_User: master Master_Port: 3306 Connect_retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 98 Relay_Log_File: slave-relay.log Relay_Log_Pos: 235 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_do_db: akademik Replicate_ignore_db: Last_errno: 0 Last_error: Skip_counter: 0 Exec_master_log_pos: 98 Relay_log_space: 44 1 row in set (0.00 sec) Atribut paling penting dari pemeriksaan di atas adalah Slave_IO_Running dan Slave_SQL_Running. Di mana indikator berhasilnya replikasi dinyatakan melalui nilai Yes pada kedua atribut ini. Apabila ternyata replikasi belum berhasil, periksa kembali langkahlangkah sebelumnya. Gunakan informasi di /var/log/syslog untuk memudahkan pelacakan kesalahan. Sebagai tambahan, untuk mengetahui bahwa proses replikasi telah berhasil dengan baik di mana server slave siap mengejar operasi penulisan pada server master, gunakan perintah SHOW PROCESSLIST.. Hasilnya kurang lebih terlihat seperti berikut: mysql> SHOW PROCESSLIST\G ************************ 1. row ************************* Id: 1 User: system user Host: db: NULL Command: Connect Time: 197 State: Waiting for master to send event Info: NULL ************************ 2. row ************************* Id: 2 User: system user Host: db: NULL Command: Connect Time: 197 State: Has read all relay log; Info: NULL 17

************************ 3. row ************************* Id: 3 User: root Host: localhost db: akademik Command: Query Time: 0 State: NULL Info: SHOW PROCESSLIST 3 rows in set (0.00 sec) 6. Me-reset Konfigurasi Pada saat melakukan konfigurasi, sangat mungkin terjadi kesalahan yang tidak disengaja, misalkan keliru menuliskan nilai atribut MASTER_LOG_FILE. Kesalahan seperti ini tentu akan berakibat fatal, di mana kedua server tidak akan pernah bisa berkomunikasi. Untuk mengantisipasi kesalahan-kesalahan yang mungkin, kita bisa me-reset konfigurasi slave maupun master. Reset Slave Untuk me-reset mesin slave, gunakan perintah RESET SLAVE. mysql> RESET SLAVE; Untuk mendapatkan informasi mengenai status slave, gunakan perintah SHOW SLAVE STATUS. mysql> SHOW SLAVE STATUS\G Adapun untuk menghentikan atau menjalankan kembali mesin slave, gunakan perintah STOP SLAVE dan START SLAVE. mysql> RESET SLAVE; Reset Master Di mesin master, kita juga bisa me-reset konfigurasi dengan menggunakan perintah RESET MASTER. mysql> RESET MASTER; Perintah di atas akan me-reset file index binlog dan menjadikan file tersebut kosong seperti keadaan awal. Namun demikian, perintah ini tidak akan mengubah konfigurasi yang telah Anda lakukan pada file my.cnf. Apabila kita terpaksa perlu me-reset, maka kita harus menetapkan konfigurasi ulang di mesin slave melalui perintah CHANGE MASTER (Ingat! Bukan konfigurasi di file my.cnf) 18

7. Menguji Basis Data Terdistribusi Meskipun secara konfigurasi sudah selesai, namun kita perlu memastikan bahwa basis data terdistribusi dapat berjalan. Tentu saja pengujian yang diperlukan adalah melakukan operasi penulisan di salah satu master dan kemudian melihat hasilnya di komputer lain. Sekadar ilustrasi, kita akan melakukan penambahan data di mesin master. 1. Masuk ke prompt mysql. mysql u root -p 2. Pilih basis data akademik sebagai basis data aktif. mysql> USE akademik 3. Lakukan penambahan sebuah record di tabel mahasiswa. mysql> INSERT INTO mahasiswa -> VALUES(123, 'didik dwi', 'Jl. Surabaya'); Query OK, 1 row affected (0.00 sec) 4. Lihat hasilnya. mysql> SELECT * FROM mahasiswa; +-----+-----------+--------------+ nim nama alamat +-----+-----------+--------------+ 123 didik dwi Jl. Surabaya +-----+-----------+--------------+ 1 rows in set (0.00 sec) Langkah selanjutnya, gunakan komputer Server 2 (slave), kemudian lakukan langkah-langkah berikut: Sekadar ilustrasi, kita akan melakukan penyeleksian data di mesin slave. 1. Masuk ke prompt mysql. mysql u root -p 2. Pilih basis data akademik sebagai basis data aktif. mysql> USE akademik 3. Lakukan seleksi di tabel mahasiswa. mysql> SELECT * FROM mahasiswa; +-----+-----------+--------------+ nim nama alamat +-----+-----------+--------------+ 123 didik dwi Jl. Surabaya +-----+-----------+--------------+ 1 rows in set (0.00 sec) 4. Jika hasilnya seperti di atas, berarti pendistribusian telah berhasil dengan baik. Ahh, mudah sekali bukan? Sampai langkah ini, setidaknya kita sudah memiliki gambaran dan pemahaman mengenai konsep, desain, dan implementasi sistem basis data terdistribusi. 19

E. TUGAS PRAKTIKUM 1. Pahami dengan baik konsep, desain, dan implementasi sistem basis data terdistribusi. Jadikan sebagai pengetahuan dan pengalaman untuk pembelajaran mendatang yang lebih baik. 2. Untuk tugas praktikum, lakukan langkah-langkah pengujian lanjut sebagai berikut: a. Masuk ke mesin slave, kemudian lakukan operasi penambahan data baru. Periksa hasilnya, baik di mesin slave maupun master. Bagaimana hasilnya? Berikan argumentasi yang deskriptif! b. Matikan mesin slave, melalui perintah SLAVE STOP, kemudian lakukan operasi penambahan data di mesin master. Selanjutnya, jalankan kembali mesin slave, dan amati serta jelaskan hasilnya. c. Matikan komputer slave, kemudian lakukan operasi penambahan data baru di mesin master. Selanjutnya, jalankan kembali mesin slave. Bagaimana hasilnya? Jelaskan! 20