GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Replikasi Master Slave MySQL

Pendahuluan

Dalam komputasi awan, replikasi data master-slave mengacu pada penyimpanan informasi yang sama di beberapa server. Satu server mengontrol grup, dan perangkat lain menangani pekerjaan dalam node yang sama.

Replikasi menjadi perlu:

  • Saat perusahaan membutuhkan backup harian reguler yang dapat memulihkan database master MySQL jika terjadi malfungsi penyimpanan.
  • Di mana pun informasi harus disimpan, diperiksa, dan dimodifikasi oleh beberapa orang, di beberapa komputer. Jika anggota grup mengidentifikasi kebutuhan untuk perubahan, itu harus pergi ke master node yang ditunjuk.

Panduan ini akan memandu Anda melalui cara menyiapkan replikasi master-slave di MySQL.

Prasyarat

  • Sistem berbasis Linux, seperti CentOS
  • Akun pengguna dengan sudo hak istimewa
  • Penginstal paket seperti yum atau sesuai , biasanya disertakan secara default
  • IP pribadi server awan (untuk menghindari biaya bandwidth pada IP publik selama konfigurasi)

Langkah-Langkah Menyiapkan Replikasi Basis Data Master-Slave di MySQL

Enak (Yellowdog Updater, Modified) adalah alat manajemen paket untuk sistem Linux RedHat Package Manager. Di .deb paket, yum alat ini biasanya diganti dengan apt alat. Oleh karena itu, dalam perintah yang diberikan apt-get biasanya dapat menggantikan yum .

Misalnya, perintah install adalah yum install [package_name] atau apt-get install [package_name] untuk hasil yang identik. Artikel ini mengasumsikan bahwa Anda menggunakan distribusi Linux berbasis RPM. Oleh karena itu, yum perintah yang digunakan.

Database master MySQL berjalan dalam mode baca-tulis. Sementara itu, server budak berjalan sebagai read-only. Sekarang, ke replikasi.

Langkah 1:Konfigurasi Database MySQL untuk Replikasi

Gunakan mysqldump perintah untuk melakukan dump-and-restore informasi ke database slave. Perintah ini membuang data ke dalam file, mentransfernya, dan mengembalikannya ke node slave.

Langkah 2:Buat 2 Server Cloud Terpisah

Pada langkah ini, pengguna yang memiliki hak istimewa harus masuk ke kontrol cloud. Dengan CentOS, ini dimungkinkan melalui gambar dasar CentOS 6.

Buat dua server cloud Linux dengan RAM yang sesuai dan berikan nama yang berbeda.

Langkah 3:Perbarui Semua Paket Perangkat Lunak ke Versi Saat Ini

Pengguna dan administrator sistem dapat memperbarui semua paket perangkat lunak pada sistem Linux berbasis RPM dengan perintah berikut:

yum update

Langkah 4:Instal MySQL

Untuk sistem Linux berbasis RedHat Package Manager, instal paket server MySQL di kedua server cloud dengan perintah:

yum install mysql-server

Setel layanan agar berjalan setiap kali sistem melakukan boot dengan perintah:

chkconfig mysqld on

Langkah 5:Mulai MySQL

Sekarang, cari tahu apakah MySQL telah diinstal dengan benar. Jika ya, Anda seharusnya dapat memulai layanan dengan perintah:

service mysqld start

Langkah 6:Siapkan Kata Sandi Root Server MySQL

Merupakan ide bagus untuk mengatur kata sandi pengguna administratif untuk MySQL. Untuk menyetel sandi, jalankan skrip untuk penginstalan aman yang menyertai paket MySQL, merespons dengan Y untuk semua perintah Y/n.

Atau, gunakan /usr/bin/mysqladmin -u root password diikuti dengan spasi dan kata sandi baru Anda; dan /usr/bin/mysqladmin -u root -h web01 password diikuti dengan spasi dan, sekali lagi, kata sandi baru Anda.

Langkah 7:Konfigurasi Firewall untuk Akses Basis Data

Menerapkan aturan TCP Port 3306 menambahkan Kebijakan Firewall yang mengizinkan lalu lintas pada port 3306. Aturan ini memungkinkan komunikasi yang tepat antar perangkat.

Untuk menyimpan konfigurasi firewall, gunakan perintah:

service iptables save

Berhati-hatilah setiap kali membuka port untuk memastikan Anda menghindari peretasan.

Langkah 8:Konfigurasi Server untuk Replikasi

Setiap server budak membutuhkan cara untuk terhubung ke server master. Untuk membuat koneksi, Anda memerlukan nama pengguna dan kata sandi MySQL. Ini mengharuskan Anda untuk menyiapkan akun pengguna MySQL di server master.

Sebaiknya buat akun khusus untuk replikasi. Untuk fungsi ini, berikan akun apa pun hak istimewa budak replikasi. Anda dapat membuat akun yang sama atau akun yang berbeda untuk setiap budak. Anda selalu dapat menemukan nama pengguna dan kata sandi pada akun dalam teks biasa di repositori master.

Untuk menyiapkan akun pengguna baru yang disebut replikasi , dan izinkan untuk terhubung untuk tujuan replikasi dari host mana pun di situsanda.com domain, jalankan perintah ini di server master:

mysql> CREATE USER 'replication'@'%.yoursite.com' IDENTIFIED BY [space followed by password]; then: mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%.yoursite.com';

Langkah 9:Pastikan Data di Server Anda Cocok

Duplikat data melalui dumping dari master ke server slave.

Tabel flush harus diatur dengan kunci baca. Basis data server master tidak boleh menerima perubahan baru selama langkah ini. Jika ada informasi di server master untuk berkoordinasi dengan server budak sebelum proses replikasi dimulai, lakukan tindakan berikut:

  • Berhenti memproses perintah apa pun di server master.
  • Salin nama file dan koordinat saat ini untuk server master dalam log binernya (lihat Langkah 10, di bawah). Ini akan dibutuhkan nanti saat menyelesaikan konfigurasi replikasi.
  • Sebelum mengaktifkan server master Anda untuk terus mengikuti perintah, buang datanya.

Lakukan semua tindakan ini dengan hati-hati untuk memastikan bahwa dump data akan cocok dengan data saat ini dari server master. Jika tidak, database slave akan tidak cocok atau rusak.

Langkah 10:Ambil Cuplikan Basis Data Master

Saat Anda melakukan tindakan berikut, perhatikan bahwa hanya satu cuplikan dari database master adalah semua yang Anda butuhkan untuk mengkonfigurasi beberapa server budak.

Jika Anda belum mengonfigurasi server-id dan memulai log biner di server master, Anda harus mematikan server. Anda dapat mengambil snapshot dari database sekarang.

Bawa file data ke direktori server budak:

shell> tar xvf dbdump.tar

Jika perlu, tetapkan kepemilikan dan izin untuk file tersebut. Anda mungkin perlu mengizinkan akses server budak dan kemampuan untuk melakukan modifikasi. Mulai budak dengan --skip-slave-start untuk menghindari replikasi.

Konfigurasikan server budak Anda dengan nama host server master dan kredensial login. Gunakan koordinat replikasi server master untuk database budak. Anda mengarahkan slave ke titik di mana replikasi dimulai, menggunakan file dan posisi log biner.

Untuk server master yang dikonfigurasi, Anda dapat menggunakan mysqldump untuk mengambil snapshot.

Sekarang Anda dapat memperbarui konfigurasi budak. Sekali lagi, pastikan untuk memulai slave dengan --skip-slave-start untuk menghindari replikasi.

Impor dump dengan perintah:

shell> mysql < fulldb.dump

Langkah 11:Mulai Utas Budak

Untuk segera melihat pembaruan pada server budak gunakan:

mysql> START SLAVE;

Linux
  1. Bagaimana cara mengatur pengaturan MySQL Master-Slave menggunakan node CentOS 7?

  2. Cara mengatur MySQL Cluster di Ubuntu

  3. Cara Mengatur Replikasi Master Slave MariaDB di Ubuntu 18.04

  1. Cara Mengatur Replikasi Master-Master MySQL

  2. Cara mengkonfigurasi Replikasi Multi-Master MySQL di Oracle Linux

  3. Cara Menginstal dan Mengatur mysql 8 di Ubuntu 20.04

  1. Cara mengatur replikasi MySQL di CentOS

  2. Cara Mengatur Akses Jarak Jauh ke Docker Daemon

  3. Siapkan replikasi sumber-replika MySQL