Cara Setup Replikasi MySQL di RHEL, Rocky dan AlmaLinux

instagram story viewer

Replikasi data adalah proses menyalin data Anda di beberapa server untuk meningkatkan ketersediaan data dan meningkatkan keandalan dan kinerja aplikasi. Di MySQL replikasi, data disalin dari database dari server master ke node lain secara real-time untuk memastikan konsistensi data dan juga untuk menyediakan cadangan dan redundansi.

Dalam panduan ini, kami menunjukkan bagaimana Anda dapat mengatur MySQL (Master-Budak) replikasi di Distribusi berbasis RHEL seperti CentOS, Fedora, Linux berbatu, dan AlmaLinux.

Pengaturan Replikasi MySQL

Jadi, inilah kami MySQL pengaturan laboratorium replikasi.

Master MySQL - 10.128.0.14. Budak MySQL - 10.128.15.211. 

Mari kita mulaiā€¦

Langkah 1: Instal MySQL di Server Master dan Slave

Kami akan memulai dengan menginstal MySQL database di kedua menguasai dan budak server.

$ sudo dnf install @mysql. 
Instal MySQL di Rocky Linux
Instal MySQL di Rocky Linux

Setelah instalasi selesai, buat titik untuk memulai server database.

$ sudo systemctl mulai mysqld. 

Kemudian aktifkan untuk memulai startup sistem atau saat reboot.

$ sudo systemctl aktifkan mysqld. 

Setelah itu, konfirmasikan bahwa MySQL server database berjalan seperti yang ditunjukkan:

$ sudo systemctl status mysqld. 
Periksa Status Menjalankan MySQL
Periksa Status Menjalankan MySQL

Langkah 2: Amankan MySQL di Server Master dan Slave

Langkah selanjutnya adalah mengamankan MySQL database di kedua menguasai dan budak server. Ini karena pengaturan default tidak aman dan menghadirkan beberapa celah yang dapat dengan mudah dieksploitasi oleh peretas.

Jadi, untuk mengeraskan MySQL, jalankan perintah:

$ sudo mysql_secure_installation. 

Pertama, Anda akan diminta untuk mengatur MySQL kata sandi akar. Pastikan untuk memberikan kata sandi root yang kuat, sebaiknya dengan lebih dari 8 karakter yang merupakan campuran karakter huruf besar, huruf kecil, khusus dan numerik.

Amankan MySQL di Rocky Linux
Amankan MySQL di Rocky Linux

Untuk petunjuk lainnya, ketik 'Y' untuk men-tweak server database ke pengaturan yang disarankan.

Konfirmasi Pengaturan MySQL
Konfirmasi Pengaturan MySQL

Setelah Anda selesai menginstal dan mengeras MySQL pada node master dan slave, selanjutnya adalah mengkonfigurasi node master.

Langkah 3: Konfigurasi Master Node (Server)

Langkah selanjutnya adalah mengkonfigurasi Menguasai simpul dan berikan budak akses simpul ke sana. Pertama, kita perlu mengedit mysql-server.cnf berkas konfigurasi.

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

Tambahkan baris berikut di bawah [mysqld] bagian.

bind-address = 10.128.0.14. ID server = 1. log_bin = mysql-bin. 

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

$ sudo sysemctl restart mysqld. 

Selanjutnya, masuk ke MySQL kerang.

$ sudo mysql -u root -p. 

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

mysql> BUAT USER 'replika'@'10.128.15.211' DIIDENTIFIKASI OLEH '[dilindungi email]'; mysql> HIBAH REPLICATION SLAVE PADA *.*TO 'replica'@'10.128.15.211'; 
Buat Pengguna Replikasi Basis Data
Buat Pengguna Replikasi Basis Data

Terapkan perubahan dan keluar dari MySQL server.

mysql> HAK ISTIMEWA FLUSH; mysql> KELUAR; 

Verifikasi status master.

mysql> TAMPILKAN STATUS MASTER\G. 
Verifikasi Status MySQL
Verifikasi Status MySQL

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

Langkah 4: Konfigurasi Budak Node (Server)

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

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

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

bind-address = 10.128.15.211. ID server = 2. log_bin = mysql-bin. 

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

$ sudo systemctl restart mysqld. 

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

$ sudo mysql -u root -p. 

Pertama dan terpenting, hentikan utas replikasi:

mysql> BERHENTI BUDAK; 
Hentikan Budak MySQL
Hentikan Budak MySQL

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

mysql> GANTI MASTER KE MASTER_HOST='10.128.0.14', MASTER_USER='replica', MASTER_PASSWORD='[dilindungi email]', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1232; 

Perhatikan bahwa MASTER_LOG_FILE dan MASTER_LOG_POS bendera sesuai dengan file dan Posisi nilai dari Menguasai simpul di akhir Langkah 1.

Itu MASTER_HOST, MASTER_USER, dan PASSWORD MASTER sesuai dengan alamat IP Master, pengguna replikasi, dan kata sandi pengguna replikasi masing-masing.

Konfigurasikan Replikasi Budak MySQL
Konfigurasikan Replikasi Budak MySQL

Kemudian mulai utas replikasi budak:

mysql> MULAI BUDAK; 
Mulai Budak MySQL
Mulai Budak MySQL

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> BUAT DATABASE replikasi_db;
Verifikasi keberadaan database.
mysql> TAMPILKAN DATABASES; 
Buat Database di MySQL Master
Buat Database di MySQL Master

Sekarang, pergilah ke node slave, masuk ke server MySQL dan konfirmasikan bahwa replikasi_db basis data hadir. Dari output di bawah ini, kita dapat melihat bahwa database hadir. Ini adalah konfirmasi bahwa replikasi telah terjadi dari Master ke node slave.

mysql> TAMPILKAN DATABASES; 
Periksa Replikasi Budak Master MySQL
Periksa Replikasi Master-Slave MySQL

Dan hanya itu, kami telah berhasil menunjukkan bagaimana Anda dapat mengatur MySQL model replikasi master-slave yang dapat mereplikasi database dari node master ke node slave.

Teachs.ru