Dalam proses Replikasi MySQL, satu data server secara otomatis disalin ke server cadangan lain secara real-time. Replikasi Database menyediakan toleransi kesalahan dan redundansi. Jika master gagal, data Anda akan dipulihkan dari server lain.
Berikut ini adalah langkah-langkah untuk mengkonfigurasi replikasi master-slave MySQL pada RHEL 7. Untuk melakukan ini kita memerlukan 2 server dengan alamat IP yang berbeda.
- Unduh dan instal server MySQL di kedua server menggunakan perintah Yum.
# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm # sudo yum install mysql-server - Setelah Server MySQL terinstal, mulai dan aktifkan untuk memulai saat boot.
sudo systemctl enable mysqld
sudo systemctl start mysqld - Cari tahu kata sandi server mysql sementara menggunakan perintah di bawah ini.
# sudo grep 'temporary password' /var/log/mysqld.log
- Jalankan perintah di bawah ini untuk mengeraskan atau mengamankan database MySQL.
# sudo mysql_secure_installation
- Masukkan kata sandi sementara yang baru saja kita dapatkan di langkah (3) dan ubah kata sandi default.
- Untuk memberikan keamanan terbaik, tekan y untuk semua jawaban.
Langkah 1 :Konfigurasikan Server Master
- Buka file konfigurasi MySQL menggunakan editor favorit Anda.
# sudo vim /etc/my.cnf
- Tambahkan baris di bawah ini di bagian mysqld.
# bind-address = Your Master server IP Address
server-id = 1
log_bin =mysql-bin - Mulai ulang layanan mysql.
# sudo systemctl restart mysqld
- Untuk membuat pengguna replikasi, login ke server mysql menggunakan root dan berikan kata sandinya.
# sudo mysql -u root -p
- Kami akan membuat pengguna replika dengan perintah di bawah ini dan memberikan akses budak kepada pengguna. Pastikan Anda menggunakan alamat IP server Anda.
mysql> CREATE USER 'replica'@'173.248.174.102' IDENTIFIED BY '[email protected]';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.248.174.102'; - Tekan perintah di bawah ini untuk mendapatkan nama file biner dan posisinya.
mysql> SHOW MASTER STATUS\G
- Kita perlu mencatat nama file master mysql-bin.000034 dan posisinya 154.
Langkah 2 :Konfigurasi Server Budak :
- Buka file konfigurasi MySQL menggunakan editor favorit Anda.
sudo vim /etc/my.cnf
- Tambahkan baris di bawah ini di bagian mysqld.
bind-address = Your Slave server IP Address
server-id = 2
log_bin =mysql-bin - Mulai ulang layanan mysql.
sudo systemctl restart mysqld
- Mari kita Konfigurasi server Slave untuk mereplikasi dari Master Server. Masuk ke server MySQL.
sudo mysql -u root -p
mysql> STOP SLAVE; - Kami akan menjalankan kueri di bawah ini untuk mengonfigurasi server budak untuk mereplikasi server Master.
mysql> CHANGE MASTER TO
-> MASTER_HOST='173.248.174.101',
-> MASTER_USER='replica',
-> MASTER_PASSWORD='[email protected]',
-> MASTER_LOG_FILE='mysql-bin.000034',
-> MASTER_LOG_POS=154;
- Mulai Server Budak.
mysql> START SLAVE;
Langkah 3 :Uji Replikasi Master-Slave MySQL :
Kita selesai dengan konfigurasi server master dan slave. Sekarang, kita akan menguji replikasi pada kedua server.
- Buka server Master dan tekan perintah di bawah ini.
sudo mysql -u root -p
- Buat Database pengujian.
mysql> CREATE DATABASE replica_database;
- Buka Server Slave dan masuk ke server database MySQL.
sudo mysql -u root -p
- Daftar Database menggunakan perintah di bawah ini.
mysql> SHOW DATABASES;
Jika semua konfigurasi sudah benar, Anda akan melihat database dibuat di master di sana. Ini dia. Replikasi master/slave MySQL kami berfungsi dengan baik.
Bagaimana Cara Aman Mengubah Lokasi Direktori Data MySQL/MariaDB di Server cPanel/WHM?
Bagaimana cara Setup Server NTP di CentOS?