Cara Menyiapkan Replikasi Master-Master MySQL

Cara Menyiapkan Replikasi Master-Master MySQL

Replikasi Master-Slave MySQL adalah untuk menyediakan pelayan hamba untuk mengemas kini sebaik sahaja perubahan dilakukan di pelayan induk. Tetapi ia tidak akan mengemas kini tuan jika terdapat perubahan yang dilakukan pada pelayan hamba. Baca artikel ini untuk menyiapkan replikasi master-hamba.

Artikel ini akan membantu anda menubuhkan replikasi master-master antara pelayan MySQL. Dalam persediaan ini jika ada perubahan yang dibuat pada pelayan yang akan dikemas kini pada yang lain.

Butiran Persediaan:
Master-1: 192.168.1.15 Master-2: 192.168.1.16 pangkalan data: mydb 

Sekiranya anda menggunakan berbeza - versi MySQL yang berbeza di mana -mana pelayan menggunakan pautan ini untuk memeriksa keserasian.

Langkah 1. Sediakan pelayan MySQL Master-1

  • Edit fail konfigurasi MySQL dan tambahkan baris berikut di bawah bahagian [MySQLD].
  • # vim /etc /my.cnf 
    [mysqld] log-bin = mysql-bin binlog-do-db = mydb server-id = 1 
  • Mulakan semula pelayan MySQL ke perubahan.
  • # perkhidmatan mysqld mulakan semula 
  • Buat Akaun MySQL di Server Master-1 dengan Keistimewaan Hamba Replikasi yang mana pelanggan replikasi akan menyambung ke Master.
  • mysql> hamba replikasi geran di *.* Kepada 'repl_user'@'%' yang dikenal pasti oleh 'secretpassword'; mysql> keistimewaan flush; 
  • Blok Tulis Pernyataan di semua jadual, jadi tiada perubahan boleh dibuat selepas mengambil sandaran.
  • mysql> gunakan mydb; mysql> jadual siram dengan kunci baca; 
  • Semak nama fail log binari semasa (fail) dan nilai offset semasa (kedudukan) menggunakan arahan berikut.
  • mysql> tunjukkan status induk; +------------------+----------+--------------+------------------+ | Fail | Kedudukan | BINLOG_DO_DB | BINLOG_IGNORE_DB | +------------------+----------+--------------+---- --------------+ | MySQL-Bin.000003 | 332 | mydb | | +------------------+----------+--------------+---- --------------+ 1 baris dalam set (0.00 saat) 

    Output di atas menunjukkan bahawa fail binari semasa menggunakan MySQL-Bin.000003 dan nilai offset adalah 332. Perhatikan nilai-nilai ini untuk digunakan pada pelayan Master-2 dalam langkah seterusnya.

  • Ambil sandaran pangkalan data dan salin ke pelayan MySQL yang lain.
  • # mysqldump -u root -p mydb> mydb.sql # scp mydb.SQL 192.168.1.16:/memilih/ 
  • Setelah melengkapkan sandaran Keluarkan kunci baca dari jadual, supaya perubahan dapat dibuat.
  • mysql> buka kunci Jadual; 

    Langkah 2. Setup Mysql Master-2 Server

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

    pelayan-id selalu menjadi nilai angka bukan sifar. Nilai ini tidak akan sama dengan pelayan tuan atau hamba lain.

  • Mulakan semula pelayan mysql, jika anda telah mengkonfigurasi penggunaan replikasi -Skip-slave-start di mula untuk tidak segera menyambung ke pelayan induk.
  • # perkhidmatan mysqld mulakan semula 
  • Pulihkan sandaran pangkalan data yang diambil dari pelayan induk.
  • # mysql -u root -p mydb < /opt/mydb.sql 
  • Buat Akaun MySQL di Server Master-1 dengan Keistimewaan Hamba Replikasi yang mana pelanggan replikasi akan menyambung ke Master.
  • mysql> hamba replikasi geran di *.* Kepada 'repl_user'@'%' yang dikenal pasti oleh 'secretpassword'; mysql> keistimewaan flush; 
  • Semak nama fail log binari semasa (fail) dan nilai offset semasa (kedudukan) menggunakan arahan berikut.
  • mysql> tunjukkan status induk; +------------------+----------+--------------+------------------+ | Fail | Kedudukan | BINLOG_DO_DB | BINLOG_IGNORE_DB | +------------------+----------+--------------+---- --------------+ | MySQL-Bin.000001 | 847 | mydb | | +------------------+----------+--------------+---- --------------+ 1 baris dalam set (0.00 saat) 

    Output di atas menunjukkan bahawa fail binari semasa menggunakan MySQL-Bin.000001 dan nilai offset adalah 847. Perhatikan nilai -nilai ini untuk digunakan dalam langkah 3.

  • Nilai pilihan persediaan pada pelayan hamba menggunakan arahan berikut.
  • mysql> Tukar Master ke 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: Persediaan Lengkap di MySQL Master-1

    Log masuk ke pelayan MySQL Master-1 dan laksanakan arahan berikut.

    mysql> Tukar Master ke 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: Mulakan hamba di kedua -dua pelayan

    Jalankan arahan berikut pada kedua -dua pelayan untuk memulakan proses hamba replikasi.

    mysql> permulaan hamba; 

    Replikasi Master-Master MySQL telah dikonfigurasikan dengan jayanya pada sistem anda dan dalam mod kerja. Untuk menguji jika replikasi berfungsi membuat perubahan pada pelayan dan periksa sama ada perubahan mencerminkan pada pelayan lain.

    Terima kasih kerana menggunakan tutorial ini, jika membantu anda maka jangan lupa untuk berkongsi dengan rakan anda.