Cara Menyiapkan Replikasi Mysql Master-Hamba di Ubuntu 18.04
- 588
- 69
- Dana Hammes
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 aptKemas kini perisian Ubuntu
Untuk memasang Mysql Pada kedua -dua nod, laksanakan arahan.
$ sudo apt pasang mysql-server mysql-clientPasang 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.28Tetapkan 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 = 1Tetapkan 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 mysqlMulakan 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 mysqlBerminat 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.29Mengikat 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 = 2Tetapkan 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.