Android

Bagaimana untuk mengkonfigurasi tuan mysql (mariadb)

Replikasi Database MariaDB Master Slave di Ubuntu 18.04

Replikasi Database MariaDB Master Slave di Ubuntu 18.04

Isi kandungan:

Anonim

Replikasi MySQL adalah proses menyalin data dari satu pelayan pangkalan data (master) ke satu atau lebih pelayan (hamba).

MySQL menyokong beberapa topologi replikasi dengan topologi Master / Slave menjadi salah satu topologi paling terkenal di mana satu pelayan pangkalan data bertindak sebagai tuan, sementara satu atau lebih pelayan berfungsi sebagai hamba. Secara lalai, replikasi itu tidak segerak di mana tuan menghantar peristiwa yang menggambarkan pengubahsuaian pangkalan data kepada log binari dan hamba meminta peristiwa apabila mereka siap.

Dalam panduan ini, kami akan menunjukkan kepada anda bagaimana untuk membuat replika MariaDB Master / Slave dengan satu tuan dan satu pelayan pelayan pada Debian 10. MariaDB adalah pelaksanaan default MySQL dalam Debian. Langkah yang sama berlaku untuk Oracle MySQL.

Topologi replikasi jenis ini paling sesuai untuk menggunakan replika baca untuk penskalaan membaca, sandaran pangkalan data untuk pemulihan bencana, dan untuk pekerjaan analitik.

Prasyarat

Kami mengandaikan bahawa anda mempunyai dua pelayan yang menjalankan Debian 10, berkomunikasi antara satu sama lain melalui rangkaian persendirian. Jika pembekal hosting anda tidak menyokong alamat IP peribadi, anda boleh menggunakan alamat IP awam dan mengkonfigurasi firewall anda untuk membenarkan trafik pada port 3306 hanya dari sumber yang dipercayai.

Pelayan yang digunakan dalam contoh ini mempunyai alamat IP berikut:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

Memasang MariaDB

Lalai repositori Debian 10 termasuk versi MariaDB 10.3. Lebih baik memasang versi MariaDB yang sama pada kedua-dua pelayan untuk mengelakkan sebarang masalah yang berpotensi.

Pasang MariaDB pada kedua tuan dan hamba dengan mengeluarkan arahan berikut:

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

Mengkonfigurasi Server Master

Langkah pertama adalah untuk menyediakan pelayan induk. Kami akan membuat perubahan berikut:

  • Tetapkan pelayan MariaDB untuk mendengarkan IP swasta. Tetapkan ID pelayan yang unik. Log masuk binari yang boleh digunakan.

Buka fail konfigurasi MariaDB dan tanda komen atau tetapkan baris berikut:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf induk: /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

Sebaik sahaja selesai, simpan fail dan mulakan semula perkhidmatan MySQL untuk perubahan yang akan dilaksanakan:

sudo systemctl restart mariadb

Langkah seterusnya adalah untuk mencipta pengguna replikasi baru. Masuk ke pelayan MariaDB sebagai pengguna root:

sudo mysql

Jalankan pertanyaan SQL berikut untuk membuat pengguna yang bernama replica dan memberikan keistimewaan 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 menukar IP dengan alamat hamba IP anda. Anda boleh menamakan pengguna yang anda mahu.

Semasa masih berada di dalam prompt MySQL, jalankan perintah berikut yang akan mencetak nama dan kedudukan fail binari.

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)

Ambil perhatian nama fail, 'mysql-bin.000001' dan Kedudukan '328'. Nilai-nilai ini diperlukan semasa mengkonfigurasi pelayan hamba dan mungkin akan berbeza pada pelayan anda.

Mengkonfigurasi Server Hamba

Kami akan membuat perubahan yang sama pada pelayan pelayan seperti yang di induk:

  • Tetapkan pelayan MySQL untuk mendengar pada IP persendirian. Tetapkan ID server yang unik. Log masuk binari yang boleh digunakan.

Buka fail konfigurasi MariaDB dan edit baris berikut:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf hamba: /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

Mulakan semula perkhidmatan MariaDB:

sudo systemctl restart mariadb

Langkah seterusnya adalah untuk mengkonfigurasi parameter yang digunakan pelayan hamba untuk menyambung ke pelayan induk. Masuk ke cangkang MariaDB:

sudo mysql

Mula dengan menghentikan benang hamba:

STOP SLAVE;

Jalankan pertanyaan berikut untuk mengkonfigurasi replikasi Master / Hamba:

MASTER_HOST='10.10.8.12', 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 yang betul, nama pengguna dan kata laluan. Nama dan kedudukan fail log mesti sama dengan nilai yang anda peroleh dari pelayan induk.

Setelah selesai, mulailah benang hamba.

START SLAVE;

Uji Konfigurasi

Pada ketika ini, anda perlu mempunyai persediaan replikasi Master / Slave yang berfungsi.

Untuk mengesahkan bahawa semuanya telah disiapkan dengan betul, buat pangkalan data baru pada pelayan induk:

sudo mysql

CREATE DATABASE replicatest;

Masuk ke shell MySQL hamba:

sudo mysql

Jalankan arahan berikut untuk menyenaraikan semua pangkalan data:

SHOW DATABASES;

Anda akan mendapati bahawa pangkalan data yang anda buat pada pelayan induk ditiru pada hamba:

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

Kesimpulannya

Dalam tutorial ini, kami telah menunjukkan anda mencipta replika Master / Slave MariaDB pada Debian 10.

Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.

debian mysql mariadb