Cara Menyiapkan Replikasi Mysql Master-Hamba di Ubuntu 18.04

Cara Menyiapkan Replikasi Mysql Master-Hamba di Ubuntu 18.04

Mysql Replikasi master-hamba adalah prosedur yang membolehkan fail pangkalan data direplikasi atau disalin di satu atau lebih nod dalam rangkaian. Persediaan ini memberikan toleransi redundansi dan kesalahan sedemikian rupa sehingga sekiranya berlaku kegagalan di Nod induk, pangkalan data masih boleh pulih di Nod hamba. Ini memberi pengguna ketenangan fikiran bahawa semua tidak akan hilang dalam apa -apa kemungkinan sebagai replika pangkalan data masih boleh diambil dari pelayan yang berbeza.

Dalam panduan ini, anda akan belajar bagaimana melakukan a Mysql pangkalan data Tuan-hamba replikasi pada Ubuntu 18.04 sistem.

Prasyarat

Dalam persediaan, kami akan mempunyai dua pelayan yang berjalan Ubuntu 18.04 dengan alamat IP berikut.

Pelayan induk: 10.128.0.28 Pelayan hamba: 10.128.0.29 

Mari kita menyelam dan lihat bagaimana kita dapat mengkonfigurasi Tuan-hamba persediaan replikasi pada Ubuntu.

Langkah 1: Pasang mysql pada nod tuan dan hamba

Ubuntu Repositori mengandungi versi 5.7 dari Mysql. Untuk memanfaatkan sebarang ciri baru dan mengelakkan masalah yang berpotensi, anda harus memasang versi MySQL terkini. Tetapi pertama, mari kita mengemas kini kedua -dua nod menggunakan perintah apt berikut.

kemas kini $ sudo apt 
Kemas kini perisian Ubuntu

Untuk memasang Mysql Pada kedua -dua nod, laksanakan arahan.

$ sudo apt pasang mysql-server mysql-client 
Pasang pelayan MySQL di Ubuntu

Seterusnya, buka mysql fail konfigurasi.

$ sudo vim/etc/mysql/mysql.Conf.D/mysqld.cnf 

Pada Nod induk, tatal dan cari Pengikat-Address atribut seperti yang ditunjukkan di bawah.

Bind-Address = 127.0.0.1 

Tukar alamat loopback agar sesuai dengan alamat IP Nod induk.

Bind-Address = 10.128.0.28 
Tetapkan alamat ip induk mysql

Seterusnya, tentukan nilai untuk pelayan-id atribut dalam [mysqld] seksyen. Nombor yang anda pilih tidak sepadan dengan nombor id pelayan lain. Mari kita tetapkan nilainya 1.

pelayan-id = 1 
Tetapkan ID Pelayan MySQL pada Master

Pada akhir fail konfigurasi, salin dan tampal garisan di bawah.

log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.log.indeks relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.indeks 

Keluar dari fail konfigurasi dan mulakan semula perkhidmatan MySQL untuk perubahan yang berkuatkuasa pada nod induk.

$ sudo Systemctl mulakan semula mysql 

Untuk mengesahkan bahawa pelayan mysql berjalan seperti yang diharapkan, mengeluarkan arahan.

$ sudo systemctl status mysql 
Mulakan semula dan periksa status MySQL

Sempurna! Pelayan MySQL berjalan seperti yang diharapkan!

Langkah 2: Buat pengguna baru untuk replikasi pada nod induk

Dalam bahagian ini, kami akan membuat pengguna replikasi di nod induk. Untuk mencapai ini, log masuk ke pelayan MySQL seperti yang ditunjukkan.

$ sudo mysql -u root -p 

Seterusnya, teruskan dan laksanakan pertanyaan di bawah untuk membuat pengguna replika dan berikan akses kepada hamba replikasi. Ingatlah untuk menggunakan alamat IP anda.

mysql> Buat pengguna 'replikasi_user'@'10.128.0.29'Dikenal pasti oleh' replica_password '; mysql> Geran Hamba Replikasi di *.* Ke 'replikasi_user'@'10.128.0.29'; 
Buat pengguna replikasi mysql

Seterusnya, jalankan arahan berikut.

mysql> Tunjukkan status induk \ g 

Output harus serupa dengan apa yang dapat anda lihat di bawah.

Periksa status induk mysql

Berminat dan perhatikan MySQL-Bin.000002 nilai dan ID kedudukan 1643. Nilai -nilai ini akan menjadi penting ketika menubuhkan pelayan hamba.

Langkah 3: Konfigurasikan pelayan hamba MySQL

Pergi ke pelayan hamba dan seperti yang kita lakukan dengan Pelayan induk, Buka fail konfigurasi MySQL.

$ sudo vim/etc/mysql/mysql.Conf.D/mysqld.cnf 

Sama seperti pelayan induk, teruskan untuk mengedit baris berikut.

Bind-Address = 10.128.0.29 
Mengikat alamat ip mysql pada hamba

Seperti dahulu, nyatakan nilai untuk pelayan-id atribut dalam [mysqld] seksyen. Kali ini pilih nilai yang berbeza. Mari pergi dengan 2.

pelayan-id = 2 
Tetapkan ID Pelayan MySQL pada Hamba

Sekali lagi, tampal garis di bawah pada akhir fail konfigurasi.

log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.log.indeks relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.indeks 

Seterusnya mulakan pelayan mysql pada nod hamba.

$ sudo Systemctl mulakan semula mysql 

Setelah selesai, simpan dan keluar dari editor teks

Seterusnya, log masuk ke shell mysql seperti yang ditunjukkan.

$ sudo mysql -u root -p 

Dalam langkah ini, anda perlu membuat beberapa konfigurasi yang akan membolehkan pelayan hamba untuk menyambung ke pelayan induk. Tetapi pertama, hentikan benang hamba seperti yang ditunjukkan.

mysql> Hentikan hamba; 

Untuk membenarkan pelayan hamba Untuk meniru Pelayan induk, Jalankan arahan.

mysql> Tukar Master ke Master_HOST = '10.128.0.28 ', master_user =' replikasi_user ', master_password =' ​​[e-mel dilindungi] ', master_log_file =' mysql-bin.000002 ', master_log_pos = 1643; 
Benarkan replikasi mysql pada pelayan hamba

Sekiranya anda cukup berminat, anda akan melihat bahawa kami telah menggunakan MySQL-Bin.00002 ID Nilai dan Kedudukan 1643 sebelum ini dipaparkan setelah membuat pengguna replikasi hamba.

Di samping itu, alamat IP pelayan induk, pengguna replikasi dan kata laluan telah digunakan.

Kemudian, mulakan utas yang telah anda berhenti sebelum ini.

mysql> Mula hamba; 

Langkah 4: Sahkan replikasi master-hamba MySQL

Untuk memeriksa sama ada persediaan memang berfungsi seperti yang diharapkan, kami akan membuat pangkalan data baru di Master dan periksa untuk melihat apakah ia telah direplikasi pada pelayan hamba MySQL.

Log masuk ke mysql di Pelayan induk.

$ sudo mysql -u root -p 

Mari buat pangkalan data ujian. Dalam kes ini, kami akan membuat pangkalan data yang dipanggil replikasi_db.

mysql> Buat pangkalan data replikasi_db; 

Sekarang, log masuk ke contoh MySQL anda di pelayan hamba.

$ sudo mysql -u root -p 

Sekarang senaraikan pangkalan data menggunakan pertanyaan.

mysql> Tunjukkan pangkalan data; 
Sahkan replikasi master-hamba MySQL

Anda akan melihat pangkalan data yang anda buat di tuan telah direplikasi pada hamba. Hebat ! Replikasi master-hamba MySQL anda berfungsi seperti yang diharapkan! Anda kini boleh yakin bahawa sekiranya berlaku kegagalan, salinan fail pangkalan data akan direplikasi ke pelayan hamba.

Kesimpulan

Dalam panduan ini, anda belajar bagaimana untuk menubuhkan a MySQL Master-Slave persediaan replikasi pada Ubuntu 18.04.