GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengatur Replikasi MySQL di RHEL/Centos

Pada artikel ini, saya akan menunjukkan cara mengatur replikasi MySQL antara server database Master dan Slave. Ini akan menggunakan dua server, salah satunya akan mereplikasi data dari yang lain (Master to Slave). Gunakan pengaturan ini jika Anda ingin meningkatkan keandalan dan kinerja dari konfigurasi sistem Anda.

Silakan merujuk ke salah satu tutorial kami yang lain jika Anda memerlukan bantuan untuk menyiapkan sistem berbasis RHEL.

Untuk panduan ini, kita akan menggunakan setup lab replikasi MySQL ini.

MySQL Master - 192.168.56.1
MySQL Slave  - 192.168.56.2 

Langkah 1:Instal MySQL di Server Master dan Slave

Mulailah dengan menginstal database MySQL pada server master dan slave.

$ sudo dnf install @mysql

or

$ sudo yum install mysql-server

Setelah instalasi selesai, mulai layanan database.

$ sudo systemctl start mysqld

Kemudian aktifkan untuk memulai dengan systemctl. Mengaktifkannya akan memberi tahu layanan untuk memulai dalam urutan boot.

$ sudo systemctl enable mysqld

Kemudian konfirmasikan bahwa server database MySQL sedang berjalan:

$ sudo systemctl status mysqld

Langkah 2:Amankan MySQL di Server Master dan Slave

Direkomendasikan untuk mengamankan server database baru Anda dengan perintah berikut:

$ sudo mysql_secure_installation

Untuk memulai, Anda harus mengatur kata sandi root MySQL. Pastikan Anda menggunakan kata sandi root yang kuat, sebaiknya yang berisi kombinasi huruf besar, huruf kecil, khusus, dan karakter numerik dan lebih panjang dari 8 karakter.

Untuk petunjuk selanjutnya, ketik 'Y' untuk mengonfigurasi server database ke pengaturan yang disarankan.

Setelah Anda selesai menginstal dan melakukan hardening MySQL pada node master dan slave, langkah selanjutnya adalah mengkonfigurasi node master.

Langkah 3:Konfigurasi Node Master (Server)

Sekarang kita mengkonfigurasi node Master dan memberikan akses node budak ke sana. Pertama, kita perlu mengedit file konfigurasi mysql-server.cnf.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Tambahkan baris berikut di bawah bagian [mysqld].

bind-address	 = 192.168.56.1
server-id 	 = 1
log_bin		 = mysql-bin

Setelah selesai, simpan perubahan dan keluar. Kemudian restart server MySQL.

$ sudo sysemctl restart mysqld

Selanjutnya, login ke shell MySQL.

$ sudo mysql -u root -p

Jalankan perintah berikut untuk membuat pengguna database yang akan digunakan untuk mengikat master dan slave untuk replikasi.

mysql> CREATE USER 'replica'@'192.168.56.2' IDENTIFIED BY 'Password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'192.168.56.2';

Terapkan perubahan dan keluar dari server MySQL.

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Verifikasi status master.

mysql> SHOW MASTER STATUS\G

Perhatikan Nama File dan Posisinya. Anda akan membutuhkan ini nanti saat menyiapkan slave untuk replikasi. Dalam kasus kami, kami memiliki nama file sebagai binlog.000001 dan Posisi 854.

Langkah 4:Konfigurasi Budak Node (Server)

Sekarang, kembali ke node Slave. Sekali lagi, edit file konfigurasi mysql-server.cnf.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Seperti sebelumnya, rekatkan baris ini di bawah bagian [mysqld]. Ubah alamat IP agar sesuai dengan IP budak. Juga, tetapkan server-id yang berbeda. Di sini kami telah menetapkan nilai 2.

bind-address	 = 192.168.56.2
server-id	 = 2
log_bin 	 = mysql-bin

Simpan perubahan dan keluar dari file. Kemudian restart server database.

$ sudo systemctl restart mysqld

Untuk mengonfigurasi node Slave agar mereplikasi dari node Master, masuk ke server MySQL Slave.

$ sudo mysql -u root -p

Mulailah dengan menghentikan utas replikasi:

mysql> STOP SLAVE;

Kemudian jalankan perintah berikut untuk mengkonfigurasi node budak untuk mereplikasi database dari master.

mysql> CHANGE MASTER TO
     MASTER_HOST='192.168.56.1' ,
     MASTER_USER='replica' ,
     MASTER_PASSWORD='Password' ,
     MASTER_LOG_FILE='binlog.000001' ,
     MASTER_LOG_POS=854;

Bendera MASTER LOG FILE dan MASTER LOG POS cocok dengan nilai file dan posisi dari node Master di akhir Langkah 1.

MASTER HOST, MASTER USER, dan MASTER PASSWORD masing-masing adalah alamat IP Master, pengguna replikasi, dan kata sandi.

Utas replikasi budak kemudian harus dimulai:

mysql> START SLAVE;

Langkah 4:Menguji Replikasi Master-Slave MySQL

Sekarang, untuk menguji apakah replikasi antara node master dan slave berfungsi, masuk ke server database MySQL pada node master:

$ sudo mysql -u root -p

Buat database pengujian. Di sini, basis data pengujian kami disebut replikasi_db.

mysql> CREATE DATABASE replication_db;

Verifikasi keberadaan database.

mysql> SHOW DATABASES;

Sekarang pergi ke node budak, masuk ke server MySQL, dan periksa kembali apakah database replikasi db ada. Kita dapat melihat bahwa database hadir dalam output di bawah ini. Ini menunjukkan bahwa replikasi dari Master ke node slave telah terjadi.

mysql> SHOW DATABASES;

Cent OS
  1. Bagaimana cara mengatur pengaturan MySQL Master-Slave menggunakan node CentOS 7?

  2. Cara Setup SysLog Server di CentOS 7 / RHEL 7

  3. Cara Setup Server NFS di CentOS 7 / RHEL 7

  1. Cara Setup Icinga Web 2 di CentOS 7 / RHEL 7

  2. Cara Menginstal MySQL 8.0 di CentOS/RHEL 8

  3. Cara mengatur replikasi MySQL di CentOS

  1. Cara Setup Pure-FTPD dengan MySQL di CentOS &RedHat

  2. Cara Mengatur mutt di CentOS/RHEL

  3. Cara Setup server proxy squid di CentOS/RHEL 7