Replikasi mysql master-slave langkah demi langkah
Saat kami mengharapkan throughput yang lebih tinggi, biasanya akan meningkatkan operasi baca dan operasi tulis database. Jadi kita membutuhkan cara untuk mereplikasi data dari database dengan menambahkan beberapa server (budak) yang memungkinkan server aplikasi untuk membaca dari mereka, bukan dari server master. Master hanya akan menangani operasi tulis Show Cara mengatur replikasi Master Slave ini sangat berguna karena akan membuat banyak salinan data Anda, memberikan redundansi jika salah satu budak gagal, ini dapat meningkatkan ketersediaan, skalabilitas karena kita dapat menambahkan lebih banyak budak ketika kita mendapatkan yang lebih tinggi . Praktek ini dengan melakukan sinkronisasi pada beberapa database disebut replikasi Tutorial ini diharapkan Anda sudah memiliki beberapa pengetahuan dasar tentang sistem manajemen basis data relasional dan bekerja dengan OS GNU/Linux Jadi yang perlu kita lakukan sekarang adalah menginstal server MySQL master terlebih dahulu. Saya akan menginstal ini di Ubuntu 21. 10. Kami juga akan menggunakan VirtualBox di mesin lokal kami, kami dapat mengunduh Ubuntu 21 yang sudah disiapkan. 10 gambar yang bisa kita impor ke VirtualBox dan kita tidak perlu menginstal OS sendiri Kami juga tentu saja dapat menggunakan penyedia cloud untuk menyiapkan server yang juga telah menyiapkan gambar yang siap digunakan. Tapi apa pun yang akan berhasil untuk tutorial ini Menginstal VirtualBox dan mengunduh gambar UbuntuJadi mari kita mulai mengunduh VirtualBox di sini. https. // www. virtualbox. org/wiki/Linux_Downloads dan pilih Ubuntu 19. 10/20. 04/20. 10/21. 04. Kemudian buka perangkat lunak di Perangkat Lunak Ubuntu dan tekan Instal Sekarang kita unduh gambar Ubuntu di sini. https. // www. osboxes. org/ubuntu/ dan pilih Ubuntu 21. 10 Indri nakal. File akan diunduh dengan 7zip jadi kita perlu mengekstraknya. Informasi login yang akan kita perlukan nanti bisa kita temukan dengan menekan tombol Info Buka VirtualBox dan tekan tombol Baru Sekarang akan muncul popup di mana Anda akan memasukkan nama VM, direktori untuk menempatkan data, jenis OS dan versinya Isi informasi di atas mengharapkan Folder Mesin dan tekan Berikutnya Sekarang ia akan menanyakan berapa ukuran memori yang harus dialokasikan. Gunakan pengaturan default. Jika kamu menemukan Di sini kita akan menekan "Gunakan file hard disk virtual yang ada" dan tekan ikon direktori Tambahkan hard disk (VDI)Popup ini akan muncul dan kita tekan Add Temukan Anda. vdi tempat Anda mengekspor file 7zip dan tekan Buka. Sekarang lanjutkan menyimpan VM Sebelum kita mulai, kita perlu mengatur jaringan ke adaptor yang dijembatani dengan masuk ke Pengaturan sehingga kita bisa mendapatkan IP unik untuk VM Sekarang kami memiliki VM yang dapat kami mulai, jadi tekan tombol Mulai dan Ubuntu akan dimuat Jika Anda menghadapi masalah dengan kursor yang berkedip atau kesulitan memulai sama sekali. Anda mungkin ingin menambah RAM untuk VM atau memori grafis. Periksa juga apakah CPU Anda mendukung virtualisasi perangkat keras. Ini dapat dilakukan dengan perintah di GNU/Linux dengan egrep -c ‘(vmx|svm)’ /proc/cpuinfo Jika Anda mendapatkan nilai lebih dari 0, perangkat keras Anda mendukungnya Sekarang masuk dengan menggunakan kredensial Login ke sistem dengan menggunakan kata sandi. osboxes. orgSekarang kita dapat menonaktifkan GUI jika kita mau dengan membuka Terminal dan masuk sudo systemctl set-default multi-user _Sekarang reboot sistem dan kita akan melihat CLI saja Ubuntu CLISetup MySQL master VMJadi sekarang kami login dengan kredensial dan kami mulai menginstal semua paket dan dependensi yang diperlukan sudo apt-get update Sekarang kita perlu mendapatkan alamat IP dari VM dengan menggunakan perintah ip addr show 192. 168. 32. 10Salin nilai inet pada ethernet kedua dalam hal ini harus 192. 168. 32. 10 Siapkan VM budak MySQLJadi lakukan seperti instruksi sebelumnya dengan membuat VM baru dengan gambar yang sama dengan yang kita unduh. Tapi itu bisa menjadi masalah untuk melampirkan. vdi file lagi karena akan memiliki UUID yang sama. Jadi kita perlu mengubahnya terlebih dahulu dengan masuk ke baris perintah dan masuk VBoxManage internalcommands sethduuid _Kemudian lanjutkan pengaturan VM dan kemudian kami menginstal paket lagi sudo apt-get update Mari dapatkan alamat IP dari VM ini dengan mendapatkannya dengan cara yang sama seperti sebelumnya dan menyimpannya Konfigurasi master MySQLBuka konfigurasi dengan VIM atau Nano sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf _Temukan baris yang berisi bind-address dan ganti nilainya dengan alamat IP master MySQL yang kita dapatkan sebelumnya. Selanjutnya kita akan menemukan baris-baris ini di file dan menghapus komentar server-id = 1 Untuk menghindari masalah yang saya miliki untuk waktu yang lama adalah menghapus baris ini juga mysqlx-bind-address = 127.0.0.1 _Sekarang mari kita restart layanan MySQL sudo service mysql restart _Konfirmasikan apakah MySQL berjalan dengan sudo systemctl set-default multi-user _0Jika kami membuat kesalahan dalam konfigurasi kami atau IP tidak benar, kami akan melihat bahwa itu dalam keadaan gagal di sini Kami akan melakukan beberapa konfigurasi tambahan ke server ini di tahap selanjutnya. Pertama-tama kita harus mengatur VM budak MySQL Kami sekarang akan membuat pengguna yang harus digunakan untuk budak sehingga mereka dapat masuk ke master MySQL. Masukkan perintah berikut di bawah ini sudo systemctl set-default multi-user _1Kami dapat memverifikasi status dengan menggunakan sudo systemctl set-default multi-user _2Sekarang kita perlu memindahkan data yang kita miliki ke slave. Jadi keluar dari MySQL CLI. Kami melakukan dump MySQL dan menyimpannya ke a. .sql sudo systemctl set-default multi-user 3Konfigurasi budak MySQLKami membuka konfigurasi MySQL budak dan mengatur alamat bind ke IP di sini dan juga mengomentari baris seperti sebelumnya tetapi ingat untuk mengatur server-id ke 2, bukan 1. Kemudian kami me-restart layanan MySQL sudo systemctl set-default multi-user _4Ganti MASTER_HOST dengan alamat IP master Anda dan MASTER_LOG_FILE dengan nama file yang Anda dapatkan saat menjalankan SHOW MASTER STATUS; Siapkan kunci SSH publik/pribadi untuk mentransferMari mentransfer data. sql ke server slave dari master. Tapi kita perlu membuat kunci publik/pribadi agar kita bisa mentransfernya dengan SCP. Jadi buat kunci dari master dengan menjalankan sudo systemctl set-default multi-user _5Lewati nama atau frasa sandi yang berbeda. Kemudian buka kunci publik sudo systemctl set-default multi-user _6Salin konten dan kemudian pergi ke server budak MySQL. Di sini kita perlu menginstal openssh-server sudo systemctl set-default multi-user _7Kemudian buka konfigurasi SSH sudo systemctl set-default multi-user _8Ubah PermitRootLogin dan atur ke Ya. Simpan file. Kemudian buat file berikut sudo systemctl set-default multi-user _9Kemudian buka dan rekatkan kunci publik yang kami buat sebelumnya. Jalankan perintah berikut sekarang untuk memulai kembali layanan SSH sudo apt-get update 0Sekarang kita harus bisa berkomunikasi dengan server slave. Kita dapat mengujinya dengan sudo apt-get update 1Jika kita mendapatkan status keluar dari 0 seharusnya baik-baik saja. Sekarang kami benar-benar akan mentransfer file dump yang kami hasilkan sudo apt-get update 2Sekarang kita seharusnya dapat melihat file tersebut, dan kita melakukannya Kita dapat melihat di sini bahwa data. sql ada di direktori home Import MySQL Dump File to MySQL slaveSekarang mari impor file dump MySQL sudo apt-get update _3Sekarang kita harus memiliki data yang sama di budak kita. Kami dapat mengonfirmasi hal itu dengan masuk ke MySQL CLI Jadi kita punya data yang sama. Bagus Ayo pergi dan tambahkan database baru ke master kita untuk memeriksa apakah replikasi kita berfungsi Kami menambahkan database baru sekarang replica_db di MySQL masterBaiklah jadi kami memiliki lima database saat ini. Mari kita periksa apakah semuanya direplikasi ke budak MySQL kita Kita sekarang melihat bahwa replica_db kita telah ditambahkan ke slaveJika Anda mengalami masalah selama penyiapan, Anda dapat melihat Daftar Periksa Replikasi di sini. https. //dev. mysql. com/doc/mysql-replication-excerpt/8. 0/id/masalah-replikasi. html Itu saja untuk tutorial ini. Ada banyak pengaturan yang harus kita tambahkan untuk produksi, tetapi saya tidak akan membahasnya di sini karena ini akan cukup luas, mungkin di tutorial mendatang. Kirimi saya komentar jika Anda ingin mempelajarinya lebih lanjut Bagaimana cara mengatur replikasi master master di MySQL?Cara mengonfigurasi replikasi master master di mysqld . mulai mysql di master1 "layanan mysqld mulai" hentikan mysql di master2 "layanan mysqld stop" salin file tar dari master1 ke master2 “scp master. /tmp/mysqld_snapshot. ter/tmp” buka file tar di datadir master2. . konfigurasikan saya. file cnf di master2 Bagaimana cara memeriksa masterPeriksa Status Replikasi MySQL di Server Kueri . Mulai utilitas baris perintah MySQL di server budak. # cd /opt/mysql/mysql/bin. . Periksa status replikasi menggunakan perintah show slave status (status server slave disampaikan oleh nilai kolom Slave_IO_Running dan Slave_SQL_Running) Apakah MySQL mendukung replikasi master master?Replikasi Master MySQL Master adalah pengembangan replikasi master-slave yang mengatasi kelemahan utamanya . Metode replikasi ini memerlukan dua atau lebih node master yang dapat menangani permintaan baca dan tulis. Selain itu, setiap master Anda dapat memiliki beberapa node slave.
Bagaimana cara mengkonfigurasi master MySQLSiapkan Replikasi MySQL 8 dengan Node Linux . Prasyarat Instal MySQL8 Konfigurasi Server Utama Buat Pengguna Replikasi di Server Master Konfigurasikan Server Budak Inisialisasi Replikasi di Server Budak Verifikasi Replikasi Master-Slave Kesimpulan |