Android

Cara mengkonfigurasi master mysql (mariadb)

KONFIGURASI REPLIKASI MASTER & SLAVE MYSQL SERVER DENGAN UBUNTU

KONFIGURASI REPLIKASI MASTER & SLAVE MYSQL SERVER DENGAN UBUNTU

Daftar Isi:

Anonim

Replikasi MySQL adalah proses menyalin data dari satu server basis data (master) ke satu atau lebih server (budak).

MySQL mendukung beberapa topologi replikasi dengan topologi Master / Slave menjadi salah satu topologi paling terkenal di mana satu server database bertindak sebagai master, sementara satu atau lebih server bertindak sebagai budak. Secara default, replikasi tidak sinkron di mana master mengirimkan peristiwa yang menjelaskan modifikasi basis data ke log binernya dan budak meminta acara ketika sudah siap.

Dalam panduan ini, kami akan menunjukkan kepada Anda cara mengatur replikasi MariaDB Master / Slave dengan satu master dan satu server slave pada Debian 10. MariaDB adalah implementasi default MySQL dalam Debian. Langkah yang sama berlaku untuk Oracle MySQL.

Jenis topologi replikasi ini paling cocok untuk menyebarkan replika baca untuk penskalaan baca, cadangan basis data langsung untuk pemulihan bencana, dan untuk pekerjaan analitik.

Prasyarat

Kami berasumsi bahwa Anda memiliki dua server yang menjalankan Debian 10, berkomunikasi satu sama lain melalui jaringan pribadi. Jika penyedia hosting Anda tidak mendukung alamat IP pribadi, Anda dapat menggunakan alamat IP publik dan mengkonfigurasi firewall Anda untuk mengizinkan lalu lintas di port 3306 hanya dari sumber tepercaya.

Server yang digunakan dalam contoh ini memiliki alamat IP berikut:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

Menginstal MariaDB

Default The 10 Debian repositori termasuk MariaDB versi 10.3. Yang terbaik adalah menginstal versi MariaDB yang sama di kedua server untuk menghindari kemungkinan masalah.

Instal MariaDB pada master dan slave dengan mengeluarkan perintah berikut:

sudo apt-get update sudo apt-get install mariadb-server

Mengkonfigurasi Server Master

Langkah pertama adalah mengatur server master. Kami akan melakukan perubahan berikut:

  • Atur server MariaDB untuk mendengarkan pada IP pribadi. Atur ID server yang unik. Aktifkan pencatatan biner.

Buka file konfigurasi MariaDB dan batalkan komentar atau atur baris berikut:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf master: /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

Setelah selesai, simpan file dan mulai ulang layanan MySQL agar perubahan diterapkan:

sudo systemctl restart mariadb

Langkah selanjutnya adalah membuat pengguna replikasi baru. Masuk ke server MariaDB sebagai pengguna root:

sudo mysql

Jalankan query SQL berikut untuk membuat pengguna bernama replica dan berikan hak istimewa REPLICATION SLAVE kepada pengguna:

CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; Pastikan Anda mengubah IP dengan alamat IP slave Anda. Anda dapat memberi nama pengguna seperti yang Anda inginkan.

Saat masih di dalam prompt MySQL, jalankan perintah berikut yang akan mencetak nama file dan posisi biner.

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)

Perhatikan nama file, 'mysql-bin.000001' dan Posisi '328'. Nilai-nilai ini diperlukan ketika mengkonfigurasi server slave dan mungkin akan berbeda pada server Anda.

Mengkonfigurasi Server Slave

Kami akan membuat perubahan yang sama pada server slave seperti yang ada di master:

  • Atur server MySQL untuk mendengarkan IP pribadi. Atur ID server yang unik. Aktifkan pencatatan biner.

Buka file konfigurasi MariaDB dan edit baris berikut:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf slave: /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

Mulai ulang layanan MariaDB:

sudo systemctl restart mariadb

Langkah selanjutnya adalah mengkonfigurasi parameter yang akan digunakan server slave untuk terhubung ke server master. Login ke shell MariaDB:

sudo mysql

Mulailah dengan menghentikan utas budak:

STOP SLAVE;

Jalankan kueri berikut untuk mengonfigurasi replikasi Master / Slave:

CHANGE MASTER TO MASTER_HOST='10.10.8.12', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328;

Pastikan Anda menggunakan alamat IP, nama pengguna, dan kata sandi yang benar. Nama dan posisi file log harus sama dengan nilai yang Anda peroleh dari server master.

Setelah selesai, mulailah benang slave.

START SLAVE;

Uji Konfigurasi

Pada titik ini, Anda harus memiliki setup replikasi Master / Slave yang berfungsi.

Untuk memverifikasi bahwa semuanya sudah diatur dengan benar, buat database baru di server master:

sudo mysql

CREATE DATABASE replicatest;

Login ke shell MySQL slave:

sudo mysql

Jalankan perintah berikut untuk mendaftar semua basis data:

SHOW DATABASES;

Anda akan melihat bahwa database yang Anda buat di server master direplikasi pada slave:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

Kesimpulan

Dalam tutorial ini, kami telah menunjukkan Anda membuat replikasi MariaDB Master / Slave di Debian 10.

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.

debian mysql mariadb