Cara Mengatur Replikasi Master-Slave MySQL di Ubuntu 18.04
- 3897
- 313
- Darryl Ritchie
Mysql Replikasi Master-Slave adalah prosedur yang memungkinkan file database direplikasi atau disalin di satu atau lebih node dalam jaringan. Pengaturan ini memberikan redundansi dan toleransi kesalahan sehingga jika terjadi kegagalan dalam Master Node, database masih dapat dipulihkan di Node Slave. Ini memberi pengguna ketenangan pikiran bahwa semua tidak akan hilang dalam kemungkinan apa pun sebagai replika database masih dapat diambil dari server yang berbeda.
Dalam panduan ini, Anda akan belajar cara melakukan a Mysql database Master-Slave replikasi pada Ubuntu 18.04 sistem.
Prasyarat
Dalam pengaturan, kita akan memiliki dua server berlari Ubuntu 18.04 dengan alamat IP berikut.
Master Server: 10.128.0.28 Slave Server: 10.128.0.29
Sekarang mari selami dan lihat bagaimana kita dapat mengkonfigurasi Master-Slave pengaturan replikasi di Ubuntu.
Langkah 1: Instal MySQL pada Node Master dan Slave
Ubuntu Repositori berisi versi 5.7 dari Mysql. Untuk memanfaatkan fitur baru dan menghindari masalah potensial, Anda harus menginstal versi MySQL terbaru. Tapi pertama -tama, mari kita perbarui dua node menggunakan perintah APT berikut.
$ sudo pembaruan aptPerbarui Perangkat Lunak Ubuntu
Untuk memasang Mysql Pada kedua node, jalankan perintah.
$ sudo apt instal mysql-server mysql-clientInstal server mysql di ubuntu
Selanjutnya, buka mysql file konfigurasi.
$ sudo vim/etc/mysql/mysql.conf.d/mysqld.CNF
Di Master Node, gulir dan temukan Bind-address
atribut seperti yang ditunjukkan di bawah ini.
Bind-address = 127.0.0.1
Ubah alamat loopback agar sesuai dengan alamat IP Master Node.
Bind-address = 10.128.0.28Atur alamat ip master mysql
Selanjutnya, tentukan nilai untuk server-id
atribut di [mysqld]
bagian. Nomor yang Anda pilih tidak boleh cocok dengan nomor ID server lainnya. Mari kita tetapkan nilainya 1
.
server-id = 1Atur ID Server MySQL di Master
Di akhir file konfigurasi, salin dan tempel baris di bawah ini.
log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.catatan.indeks relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.indeks
Keluar dari file konfigurasi dan restart layanan MySQL agar perubahan mulai berlaku pada master node.
$ sudo systemctl restart mysql
Untuk memverifikasi bahwa server MySQL berjalan seperti yang diharapkan, keluarkan perintah.
$ sudo Systemctl Status mysqlMulai ulang dan periksa status mysql
Sempurna! Server mysql berjalan seperti yang diharapkan!
Langkah 2: Buat pengguna baru untuk replikasi di master node
Di bagian ini, kami akan membuat pengguna replikasi di Master Node. Untuk mencapai hal ini, masuk ke server MySQL seperti yang ditunjukkan.
$ sudo mysql -u root -p
Selanjutnya, lanjutkan dan jalankan kueri di bawah ini untuk membuat pengguna replika dan memberikan akses ke budak replikasi. Ingatlah untuk menggunakan alamat IP Anda.
mysql> Buat pengguna 'replication_user'@'10.128.0.29'Diidentifikasi oleh' replica_password '; mysql> Hibah budak di *.* Ke 'replication_user'@'10.128.0.29';Buat Pengguna Replikasi MySQL
Selanjutnya, jalankan perintah berikut.
mysql> Tunjukkan status master \ g
Output harus mirip dengan apa yang dapat Anda lihat di bawah.
Periksa status master mysqlBersemangatlah dan perhatikan mysql-bin.000002
Nilai dan ID Posisi 1643
. Nilai -nilai ini akan sangat penting saat menyiapkan server budak.
Langkah 3: Mengkonfigurasi server slave mysql
Pergilah ke server budak dan seperti yang kami lakukan dengan Server Master, buka file konfigurasi mysql.
$ sudo vim/etc/mysql/mysql.conf.d/mysqld.CNF
Sama seperti Server Master, Lanjutkan untuk mengedit baris berikut.
Bind-address = 10.128.0.29Bind MySQL IP Address di Slave
Seperti sebelumnya, tentukan nilai untuk server-id
atribut di [mysqld]
bagian. Kali ini pilih nilai yang berbeda. Ayo pergi dengan 2
.
server-id = 2Atur ID Server MySQL di Slave
Sekali lagi, tempel baris di bawah ini di ujung file konfigurasi.
log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.catatan.indeks relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.indeks
Selanjutnya restart server mysql di node budak.
$ sudo systemctl restart mysql
Setelah selesai, simpan dan keluar dari editor teks
Selanjutnya, masuk ke shell mysql seperti yang ditunjukkan.
$ sudo mysql -u root -p
Pada langkah ini, Anda perlu membuat beberapa konfigurasi yang akan memungkinkan server budak untuk terhubung ke Server Master. Tapi pertama -tama, hentikan utas budak seperti yang ditunjukkan.
mysql> Berhenti budak;
Untuk memungkinkan server budak untuk mereplikasi Server Master, Jalankan perintah.
mysql> Ubah master menjadi master_host = '10.128.0.28 ', master_user =' replication_user ', master_password =' [email dilindungi] ', master_log_file =' mysql-bin.000002 ', master_log_pos = 1643;Izinkan replikasi mysql di server budak
Jika Anda cukup tertarik, Anda akan mengamati bahwa kami telah menggunakan mysql-bin.00002
ID Nilai dan Posisi 1643
sebelumnya ditampilkan setelah membuat pengguna replikasi budak.
Selain itu, alamat IP server master, pengguna replikasi dan kata sandi telah digunakan.
Kemudian, mulailah utas yang sebelumnya Anda berhenti.
mysql> Mulai budak;
Langkah 4: Verifikasi replikasi master-slave mysql
Untuk memeriksa apakah pengaturannya memang berfungsi seperti yang diharapkan, kami akan membuat database baru di master dan memeriksa untuk melihat apakah telah direplikasi di server slave mysql.
Masuk ke mysql di Server Master.
$ sudo mysql -u root -p
Mari Buat Database Tes. Dalam hal ini, kami akan membuat database yang disebut replikasi_db.
mysql> Buat Database Replication_DB;
Sekarang, masuk ke instance mySQL Anda di server budak.
$ sudo mysql -u root -p
Sekarang daftar database menggunakan kueri.
mysql> Tampilkan basis data;Verifikasi replikasi master-slave mysql
Anda akan melihat database yang Anda buat di menguasai telah direplikasi budak. Luar biasa ! Replikasi Master-Slave MySQL Anda berfungsi seperti yang diharapkan! Anda sekarang dapat yakin bahwa jika terjadi kegagalan, salinan file database akan direplikasi ke server budak.
Kesimpulan
Dalam panduan ini, Anda belajar cara mengatur a Mysql Master-Slave pengaturan replikasi di Ubuntu 18.04.