Replikasi data adalah proses menyalin data Anda di beberapa server untuk meningkatkan ketersediaan data dan meningkatkan keandalan dan kinerja aplikasi. Dalam replikasi MySQL, data disalin dari database dari server master ke node lain secara real-time untuk memastikan konsistensi data dan juga untuk menyediakan cadangan dan redundansi. Show
Dalam panduan ini, kami mendemonstrasikan bagaimana Anda dapat mengatur replikasi MySQL (Master-Slave) dalam distribusi berbasis RHEL seperti CentOS, Fedora, Rocky Linux, dan AlmaLinux Pengaturan Replikasi MySQLJadi, inilah pengaturan lab replikasi MySQL kami MySQL Master - 10.128.0.14 MySQL Slave - 10.128.15.211 Mari kita mulai… Langkah 1. Instal MySQL di Server Master dan SlaveKami akan memulai dengan menginstal database MySQL di server master dan slave $ sudo dnf install @mysqlInstal MySQL di Rocky Linux Setelah penginstalan selesai, pastikan untuk memulai server database $ sudo systemctl start mysqld Kemudian aktifkan untuk memulai startup sistem atau saat reboot $ sudo systemctl enable mysqld Setelah itu, konfirmasikan bahwa server database MySQL berjalan seperti yang ditunjukkan $ sudo systemctl status mysqldPeriksa Status Menjalankan MySQL Langkah 2. Amankan MySQL di Server Master dan SlaveLangkah selanjutnya adalah mengamankan database MySQL baik di server master maupun server slave. Ini karena pengaturan default tidak aman dan menghadirkan beberapa celah yang dapat dengan mudah dimanfaatkan oleh peretas Jadi, untuk mengeraskan MySQL, jalankan perintah $ sudo mysql_secure_installation Pertama, Anda akan diminta untuk mengatur kata sandi root MySQL. Pastikan untuk memberikan kata sandi root yang kuat, sebaiknya dengan lebih dari 8 karakter yang merupakan campuran huruf besar, huruf kecil, karakter khusus, dan angka Amankan MySQL di Rocky LinuxUntuk petunjuk yang tersisa, ketik $ sudo systemctl start mysqld_5 untuk men-tweak server database ke pengaturan yang disarankanKonfirmasi Pengaturan MySQL Setelah Anda selesai melakukan instalasi dan hardening MySQL pada node master dan slave, selanjutnya adalah melakukan konfigurasi pada node master Langkah 3. Konfigurasi Node Master (Server)Langkah selanjutnya adalah mengonfigurasi node Master dan memberikan akses ke node slave. Pertama, kita perlu mengedit mysql-server. file konfigurasi cnf $ sudo vim /etc/my.cnf.d/mysql-server.cnf Tambahkan baris berikut di bawah bagian $ sudo systemctl start mysqld6 bind-address = 10.128.0.14 server-id = 1 log_bin = mysql-bin_ Setelah selesai, simpan perubahan dan keluar. Kemudian restart server MySQL $ sudo sysemctl restart mysqld Selanjutnya, masuk ke shell MySQL $ sudo mysql -u root -p Jalankan perintah berikut untuk membuat pengguna basis data yang akan digunakan untuk mengikat master dan budak untuk replikasi $ sudo dnf install @mysql0Buat Pengguna Replikasi Database Terapkan perubahan dan keluar dari server MySQL $ sudo dnf install @mysql_1 Verifikasi status master $ sudo dnf install @mysql2Verifikasi Status MySQL Catat Nama File dan Posisinya. Anda akan memerlukan ini nanti saat menyiapkan budak untuk replikasi. Dalam kasus kami, kami memiliki nama file sebagai $ sudo systemctl start mysqld7 dan Posisi 1232 Langkah 4. Konfigurasikan Node Budak (Server)Sekarang, kembali ke node Slave. Sekali lagi, edit mysql-server. file konfigurasi cnf $ sudo vim /etc/my.cnf.d/mysql-server.cnf Seperti sebelumnya, rekatkan baris ini di bawah bagian $ sudo systemctl start mysqld6. Ubah alamat IP agar sesuai dengan IP budak. Juga, tetapkan id server yang berbeda. Di sini kami telah memberinya nilai 2 $ sudo dnf install @mysql_4 Simpan perubahan dan keluar dari file. Kemudian restart server database $ sudo dnf install @mysql_5 Untuk mengonfigurasi node Slave untuk mereplikasi dari node Master, masuk ke server MySQL Slave $ sudo mysql -u root -p Pertama dan terpenting, hentikan utas replikasi $ sudo dnf install @mysql7Hentikan MySQL Slave Kemudian jalankan perintah berikut untuk mengonfigurasi node slave untuk mereplikasi database dari master $ sudo dnf install @mysql_8 Perhatikan bahwa flag MASTER_LOG_FILE dan MASTER_LOG_POS sesuai dengan nilai file dan Posisi dari simpul Master di akhir Langkah 1 MASTER_HOST, MASTER_USER, dan MASTER_PASSWORD sesuai dengan alamat IP Master, pengguna replikasi, dan kata sandi pengguna replikasi. Konfigurasikan Replikasi Budak MySQLKemudian mulai utas replikasi budak $ sudo dnf install @mysql9Mulai MySQL Slave Langkah 4. Menguji Replikasi Master-Slave MySQLSekarang, untuk menguji apakah replikasi antara node master dan slave berfungsi, masuk ke server database MySQL di node master $ sudo mysql -u root -p Buat database pengujian. Di sini, database pengujian kami disebut replication_db $ sudo systemctl start mysqld1 $ sudo systemctl start mysqld2 $ sudo systemctl start mysqld3Membuat Database di MySQL Master Sekarang, buka node slave, masuk ke server MySQL dan konfirmasikan bahwa database replication_db ada. Dari output di bawah ini, kita dapat melihat bahwa database hadir. Ini adalah konfirmasi bahwa replikasi telah terjadi dari Master ke node slave $ sudo systemctl start mysqld3Periksa Replikasi Master-Slave MySQL Dan itu saja, kami telah berhasil menunjukkan bagaimana Anda dapat mengatur model replikasi master-slave MySQL yang dapat mereplikasi database dari node master ke node slave Bagaimana cara membuat replikasi di MySQL?Sekarang, ke replikasi. . Langkah 1. Konfigurasi Database MySQL untuk Replikasi. . Langkah 2. Buat 2 Server Cloud Terpisah. . Langkah 3. Perbarui Semua Paket Perangkat Lunak ke Versi Saat Ini. . Langkah 4. Instal MySQL. . Langkah 5. Mulai MySQL. . Langkah 6. Atur Kata Sandi Root Server MySQL. . Langkah 7. Konfigurasikan Firewall untuk Akses Database Apa hak istimewa pengguna replikasi MySQL?Hak istimewa REPLICATE CLIENT memungkinkan pengguna untuk mengeksekusi pernyataan SHOW MASTER STATUS dan SHOW SLAVE STATUS . Dalam pernyataan SQL ini, replika akun pengguna hanya diberikan apa yang diperlukan untuk replikasi. Nama pengguna bisa berupa apa saja. Nama pengguna dan nama host diberikan dalam tanda kutip.
Bagaimana cara mengkonfigurasi replikasi di server MySQL?Anda dapat melakukan ini dengan menjalankan perintah seperti berikut di server sumber Anda. Perintah khusus ini memungkinkan setiap koneksi yang berasal dari alamat IP server replika — diwakili oleh replica_server_ip — ke nomor port default MySQL, 3306. sudo ufw mengizinkan dari replica_server_ip ke port apa saja 3306
Bagaimana Anda mengatur replikasi?Konfigurasi penerbit untuk replikasi transaksional . Sambungkan ke penerbit di SQL Server Management Studio, lalu perluas simpul server Klik kanan Agen Server SQL dan pilih Mulai. . Perluas folder Replikasi, klik kanan folder Publikasi Lokal, dan pilih Publikasi Baru |