Cara menggunakan mysql 3 master replication

Replikasi MySQL Master-Slave adalah untuk mengatur server budak untuk memperbarui segera segera setelah perubahan dilakukan di server Master. Tapi itu tidak akan memperbarui Master jika ada perubahan yang dilakukan pada server budak. Baca artikel ini untuk mengatur replikasi Master-Slave.

Artikel ini akan membantu Anda mengatur replikasi Master-Master antara server MySQL. Dalam pengaturan ini, jika ada perubahan yang dibuat di salah satu server akan diperbarui di server lain.

    • Detail Penyiapan:
  • Langkah 1. Siapkan Server MySQL Master-1
  • Langkah 2. Siapkan Server MySQL Master-2
  • Langkah 3: Selesaikan Setup di MySQL Master-1

Detail Penyiapan:
Master-1: 192.168.1.15
Master-2: 192.168.1.16
Database: mydb

Jika Anda menggunakan berbeda – versi MySQL yang berbeda di kedua server gunakan Link ini untuk memeriksa kompatibilitas.

Langkah 1. Siapkan Server MySQL Master-1

  • Edit file konfigurasi MySQL dan tambahkan baris berikut di bawah [mysqld] bagian.
# vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog-do-db=mydb
server-id=1
  • Mulai ulang server MySQL agar perubahan diterapkan.
  • # service mysqld restart
    
  • Buat akun mysql di server Master-1 dengan hak istimewa REPLICATION SLAVE yang akan disambungkan klien replikasi ke master.
  • mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'secretpassword';
    mysql> FLUSH PRIVILEGES;
    
  • Blokir pernyataan tulis di semua tabel, jadi tidak ada perubahan yang dapat dilakukan setelah mengambil cadangan.
  • mysql> use mydb;
    mysql> FLUSH TABLES WITH READ LOCK;
    
  • Periksa nama file log biner saat ini (File) dan nilai offset (Posisi) saat ini menggunakan perintah berikut.
  • mysql> SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 |      332 | mydb         |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    Output di atas menunjukkan bahwa file biner saat ini menggunakan mysql-bin.000003 dan nilai offsetnya adalah 332. Catat nilai-nilai ini untuk digunakan pada server Master-2 di langkah berikutnya.

  • Ambil cadangan database dan salin ke server mysql lain.
  • # mysqldump -u root -p mydb > mydb.sql
    # scp mydb.sql 192.168.1.16:/opt/
    
  • Setelah menyelesaikan pencadangan, hapus READ LOCK dari tabel, sehingga perubahan dapat dilakukan.
  • mysql> UNLOCK TABLES;
    

    Langkah 2. Siapkan Server MySQL Master-2

  • Edit file konfigurasi mysql Master-2 dan tambahkan nilai berikut di bawah [mysqld] bagian.
  • # vim /etc/my.cnf
    
    [mysqld]
    log-bin=mysql-bin
    binlog-do-db=mydb
    server-id=1
    

    server-id selalu menjadi nilai numerik bukan nol. Nilai ini tidak akan pernah sama dengan server master atau slave lainnya.

  • Restart server MySQL, Jika Anda sudah mengonfigurasi replikasi gunakan –skip-slave-start di start untuk tidak langsung terhubung ke server master.
  • # service mysqld restart
    
  • Kembalikan cadangan basis data yang diambil dari server master.
  • # mysql -u root -p mydb 
    
  • Buat akun mysql di server Master-1 dengan hak istimewa REPLICATION SLAVE yang akan disambungkan klien replikasi ke master.
  • mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'secretpassword';
    mysql> FLUSH PRIVILEGES;
    
  • Periksa nama file log biner saat ini (File) dan nilai offset (Posisi) saat ini menggunakan perintah berikut.
  • mysql > SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000001 |      847 | mydb         |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    Output di atas menunjukkan bahwa file biner saat ini menggunakan mysql-bin.000001 dan nilai offsetnya adalah 847. Catat nilai-nilai ini untuk digunakan pada Langkah 3.

  • Atur nilai opsi pada server budak menggunakan perintah berikut.
  • mysql>  CHANGE MASTER TO MASTER_HOST='192.168.1.15',
        -> MASTER_USER='repl_user',
        -> MASTER_PASSWORD='secretpassword',
        -> MASTER_LOG_FILE='mysql-bin.000003',
        -> MASTER_LOG_POS=332;
    

    Langkah 3: Selesaikan Setup di MySQL Master-1

    Login ke server MySQL Master-1 dan jalankan perintah berikut.

    mysql>  CHANGE MASTER TO MASTER_HOST='192.168.1.16',
         MASTER_USER='repl_user',
         MASTER_PASSWORD='secretpassword',
         MASTER_LOG_FILE='mysql-bin.000001',
         MASTER_LOG_POS=847;
    
    Langkah 4: Mulai SLAVE di Kedua Server

    Jalankan perintah berikut di kedua server untuk memulai proses slave replikasi.

    mysql> SLAVE START;
    

    Replikasi Master-Master MySQL telah berhasil dikonfigurasi di sistem Anda dan dalam mode kerja. Untuk menguji apakah replikasi berfungsi, buat perubahan di salah satu server dan periksa apakah perubahan tercermin di server lain.

    Terima kasih telah menggunakan tutorial ini, Jika bermanfaat bagi Anda, jangan lupa untuk membagikannya dengan teman-teman Anda.

    Langkah dalam melakukan replikasi di MySQL?

    Langkah Replikasi Master to Master MySQL.
    Sesuaikan konfigurasi masing-masing server MySQL sebagai master. ... .
    2. Instal replikasi ke masing-masing server, login ke server1 sebagai root. ... .
    3. Login ke master server 2 sebagai root di mysql. ... .
    Kembali ke master server 1 dan setting master. ... .
    Uji coba replikasi..

    Apa itu replikasi MySQL?

    APA ITU REPLIKASI MYSQL? Suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke databse lain yang lokasinya terpisah secara fisik. Dengan menggunakan teknik ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan local maupun internet.

    Tuliskan apa yang dimaksud dengan replikasi basis data?

    Replikasi basis data adalah proses menyalin basis data ke basis data lain yang ada di server yang sama atau server berbeda, dan mensinkronisasikan datanya untuk menjaga konsistensi. Dengan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui jaringan lokal LAN, WAN, atau internet.

    Apa tujuan dari replikasi database?

    Replikasi database adalah suatu fitur teknologi pada dunia pemrograman database yang memungkinkan suatu basis data untuk mereplikasi atau mengopy datanya ke basis data lain secara otomatis.