GNU/Linux >> Belajar Linux >  >> Linux

Konfigurasikan replikasi sumber-sumber MySQL

Catatan :Dukungan Rackspace tidak dapat membantu pengaturan replikasi sumber-sumber karena kerumitan konfigurasi dan kemungkinan kesalahan. Sebagai alternatif untuk mengarahkan replikasi sumber-sumber MySQL, pertimbangkan layanan Cloud Databases kami atau mesin aplikasi seperti Tungsten untuk replikasi data yang lebih andal di antara instans database.

Replikasi Sumber-Sumber MySQL

Artikel ini menunjukkan cara menyiapkan Replikasi Cluster:Replikasi Bidrectional dan Circularantara dua Server Cloud. Replikasi data Sumber-Sumber memungkinkan data yang direplikasi, disimpan di banyak komputer, untuk diperbarui oleh anggota grup yang berkontribusi secara sah. Hal ini memungkinkan kolaborasi yang lebih terbuka daripada replikasi sumber-replika di mana setiap perubahan yang diperlukan yang diidentifikasi oleh anggota grup harus diserahkan ke sumber node yang ditunjuk.

Tutorial ini menggunakan sistem operasi Debian 5 (Lenny), dibangun dari gambar dasar RackspaceCloud.

Garis Besar Pengaturan

Ada dua Server Cloud, debian501 dan debian502 , dalam latihan ini. Kedua server memiliki dua alamat IP (satu publik, satu pribadi). Latihan ini mengonfigurasi replikasi untuk dilakukan melalui antarmuka IP pribadi sehingga Anda tidak dikenakan biaya bandwidth apa pun.

Membuat Server Cloud

Anda perlu membuat dua Server Cloud Linux, menggunakan gambar dasar Debian 5. Gunakan langkah-langkah berikut untuk membuat setiap server secara terpisah.

  1. Masuk ke Panel Kontrol Cloud.
  2. Di bilah navigasi atas, klik Pilih Produk> Rackspace Cloud .
  3. Pilih Server> Server Awan .
  4. Klik Buat Server .
  5. Beri nama server sehingga Anda dapat dengan mudah mengidentifikasinya selama penyiapan. Dalam latihan ini mereka diberi nama debian501 dan debian502.
  6. Pilih gambar Debian.
  7. Pilih konfigurasi RAM (rasa) yang memenuhi persyaratan database Anda.
  8. Klik Buat Server .

Perintah server berikut harus dijalankan sebagai pengguna istimewa (root, sudo group).

Menginstal MySQL

Pertama kita perlu menginstal MySQL di kedua Debian Cloud Server. Seperti biasa, sebelum menginstal paket apa pun, kami perlu memastikan bahwa daftar paket kami mutakhir dan pengaturan lokal/bahasa kami dikonfigurasi dengan benar.

  • Perbarui basis data paket:

      # aptitude update
    
  • Instal lokal:

      # aptitude install locales
    
      # dpkg-reconfigure locales
    
  • dpkg-reconfigure locales perintah menampilkan jendela pengaturan lokal di mana Anda dapat memilih lokal untuk sistem Anda tergantung pada negara dan wilayah Anda. Dalam hal ini, pilih en\_GB.UTF-8 .

  • Sekarang, jalankan perintah berikut untuk menginstal MySQL:

      # aptitude install mysql-server mysql-client libmysqlclient15-dev
    

Mengonfigurasi replikasi

Setelah mysql-server paket telah berhasil diinstal, mulailah mengonfigurasi setiap node MySQL untuk mengaktifkan replikasi di antara mereka.

Anda perlu membuat database yang akan direplikasi serta nama pengguna dan kata sandi replikasi untuk digunakan dengannya. Anda dapat menggunakan perintah yang diuraikan di bawah ini untuk menyiapkannya, dengan mengingat untuk mengubah semua string/nilai dalam kurung untuk diterapkan ke konfigurasi spesifik Anda.

  • Pertama, di debian501, masuk ke konsol mysql (menggunakan kata sandi root mysql yang Anda atur selama instalasi MySQL).

      # mysql -u root -p
      mysql>
    
  • Sekarang, buat pengguna replikasi, yang digunakan untuk menyinkronkan perubahan.

      mysql> grant replication slave on \*.\* to replicauser@'[private IP of debian502]' identified by '[some password]';
      mysql> flush privileges;
      mysql> exit
    
  • Lakukan hal yang sama untuk debian502.

      mysql> grant replication slave on \*.\* to replicauser@'[private IP of debian501]' identified by '[some password]';
      mysql> flush privileges;
      mysql> exit
    
  • Kembali ke debian501, edit /etc/mysql/my.cnf dan masukkan, perbarui, atau batalkan komentar pada entri berikut:

      bind-address = 0.0.0.0
      server-id = 1
      log-bin = /var/log/mysql/var/bin.log
      log-slave-updates
      log-bin-index = /var/log/mysql/log-bin.index
      log-error = /var/log/mysql/error.log
      relay-log = /var/log/mysql/relay.log
      relay-log-info-file = /var/log/mysql/relay-log.info
      relay-log-index = /var/log/mysql/relay-log.index
      auto_increment_increment = 10
      auto_increment_offset = 1
      master-host = [private IP address of debian502]
      master-user = [replication username]
      master-password = [replication password]
      replicate-do-db = <database name to be replicated>
    
  • Ulangi langkah-langkah di server debian502.

      bind-address = 0.0.0.0
      server-id = 2
      log-bin = /var/log/mysql/bin.log
      log-slave-updates
      log-bin-index = /var/log/mysql/log-bin.index
      log-error = /var/log/mysql/error.log
      relay-log = /var/log/mysql/relay.log
      relay-log-info-file = /var/log/mysql/relay-log.info
      relay-log-index = /var/log/mysql/relay-log.index
      auto_increment_increment = 10
      auto_increment_offset = 2
      master-host =  [private IP address of debian501]
      master-user = [replication username]
      master-password = [replication user password]
      replicate-do-db = [database name to be replicated]
    
  • Sekarang, restart kedua database. Jika layanan dimulai ulang di salah satu server gagal, periksa /var/log/mysql/error.log file untuk setiap kesalahan. Perbarui konfigurasi dan periksa kesalahan ketik, dan sebagainya.

Menguji skenario

Untuk tujuan menguji pengaturan replikasi Anda, buat database yang ditentukan di bagian konfigurasi sebelumnya. Buat juga tabel pengujian di salah satu node dan lihat file log di /var/log/mysql direktori. Perhatikan bahwa semua perubahan basis data harus segera direplikasi ke server Anda yang lain.

  mysql> create database [your-db-name];
  mysql> use [your-db-name]
  mysql> create table foo (id int not null, username varchar(30) not null);
  mysql> insert into foo values (1, 'bar');
  • Sebagai pengujian tambahan, hentikan layanan MySQL di debian502, buat perubahan basis data di server debian501 dan kemudian mulai ulang layanan MySQL di debian502. Layanan MySQL debian502 akan menyinkronkan semua perubahan baru secara otomatis.

  • Anda juga harus mempertimbangkan untuk mengubah nilai rotasi log biner default(expire_logs_days dan max_binlog_size ) di /etc/mysql/my.cnf file, karena, secara default, semua log biner disimpan selama 10 hari. Jika Anda memiliki jumlah transaksi yang tinggi pada aplikasi database Anda, ini dapat menyebabkan penggunaan ruang harddisk yang signifikan dalam log. Jadi, pertimbangkan untuk mengubah nilai tersebut agar sesuai dengan kebijakan pencadangan server Anda. Misalnya, jika Anda memiliki penyiapan cadangan harian untuk node MySQL Anda, Anda tidak perlu menyimpan log biner selama 10 hari.


Linux
  1. Cara Mengatur Replikasi Master-Master MySQL

  2. Cara mengatur replikasi MySQL di CentOS

  3. Siapkan replikasi sumber-replika MySQL

  1. Konfigurasikan WSO2 API Manager dengan Database MySQL

  2. Konfigurasikan server MySQL pada sistem operasi Ubuntu

  3. Cara mengonfigurasi Database Budak MySQL

  1. Cara mengkonfigurasi Replikasi Multi-Master MySQL di Oracle Linux

  2. Konfigurasikan replikasi sumber-replika MySQL

  3. Apa tujuan dari "pengguna sistem" di Replikasi MySQL?