Android

Cum se configurează mysql (mariadb) master

Genetica moleculara BAC BIOLOGIE 2020

Genetica moleculara BAC BIOLOGIE 2020

Cuprins:

Anonim

Replicarea MySQL este un proces de copiere a datelor de la un server de baze de date (master) pe unul sau mai multe servere (slave).

MySQL acceptă mai multe topologii de replicare cu topologia Master / Slave fiind una dintre cele mai cunoscute topologii în care un server de baze de date acționează ca master, în timp ce unul sau mai multe servere acționează ca slave. În mod implicit, replicarea este asincronă, unde masterul trimite evenimente care descriu modificările bazei de date în jurnalul său binar și sclavii solicită evenimentele când sunt gata.

În acest ghid, vă vom arăta cum să configurați replicarea MariaDB Master / Slave cu un server master și un server slave pe Debian 10. MariaDB este implementarea implicită a MySQL în Debian. Aceiași pași se aplică pentru Oracle MySQL.

Acest tip de topologie de replicare este cel mai potrivit pentru implementarea de replici citite pentru scalare la citire, backup pentru baze de date în direct pentru recuperarea dezastrelor și pentru lucrări de analiză.

Cerințe preliminare

Presupunem că aveți două servere care rulează Debian 10, care comunică între ele printr-o rețea privată. Dacă furnizorul de găzduire nu acceptă adrese IP private, puteți utiliza adrese IP publice și configurați firewallul pentru a permite traficul pe portul 3306 numai din surse de încredere.

Serverele utilizate în acest exemplu au următoarele adrese IP:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

Instalarea MariaDB

Depozitele implicite Debian 10 includ versiunea 10.3 a MariaDB. Cel mai bine este să instalați aceeași versiune MariaDB pe ambele servere pentru a evita eventualele probleme.

Instalați MariaDB atât pe maestru, cât și pe sclav, emitând următoarele comenzi:

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

Configurarea serverului principal

Primul pas este configurarea serverului principal. Vom face următoarele modificări:

  • Setați serverul MariaDB să asculte pe IP-ul privat.Setați un ID unic de server.

Deschideți fișierul de configurare MariaDB și decomandați sau setați următoarele linii:

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

După ce ați terminat, salvați fișierul și reporniți serviciul MySQL pentru ca modificările să aibă efect:

sudo systemctl restart mariadb

Următorul pas este crearea unui nou utilizator de replicare. Conectați-vă la serverul MariaDB ca utilizator rădăcină:

sudo mysql

Rulați următoarele interogări SQL pentru a crea o replica numită de utilizator și acordați privilegiului REPLICATION SLAVE utilizatorului:

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

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; Asigurați-vă că schimbați adresa IP cu adresa IP a sclavului. Puteți numi utilizatorul așa cum doriți.

În timp ce încă se află în promptul MySQL, executați următoarea comandă care va tipări numele de fișier și poziția binară.

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)

Rețineți numele fișierului, „mysql-bin.000001” și poziția „328”. Aceste valori sunt necesare la configurarea serverului slave și probabil vor fi diferite pe serverul dvs.

Configurarea serverului Slave

Vom face aceleași modificări pe serverul sclav ca și cele de pe maestru:

  • Setați serverul MySQL pentru a asculta pe IP-ul privat.Setați un ID unic al serverului.

Deschideți fișierul de configurare MariaDB și editați următoarele linii:

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

Reporniți serviciul MariaDB:

sudo systemctl restart mariadb

Următorul pas este să configurați parametrii pe care îi va folosi serverul sclav pentru a se conecta la serverul principal. Conectați-vă la shell-ul MariaDB:

sudo mysql

Începeți prin a opri firele de sclav:

STOP SLAVE;

Rulați următoarea interogare pentru a configura replicarea 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;

Asigurați-vă că utilizați adresa IP corectă, numele de utilizator și parola. Numele și poziția fișierului jurnal trebuie să fie aceleași cu valorile pe care le-ați obținut de la serverul principal.

După ce ați terminat, începeți firele de sclavi.

START SLAVE;

Testați configurația

În acest moment, ar trebui să aveți o configurare de replicare Master / Slave funcțională.

Pentru a verifica dacă totul este configurat corect, creați o bază de date nouă pe serverul principal:

sudo mysql

CREATE DATABASE replicatest;

Conectați-vă la shell-ul MySQL sclav:

sudo mysql

Rulați următoarea comandă pentru a lista toate bazele de date:

SHOW DATABASES;

Veți observa că baza de date creată pe serverul principal este replicată pe slave:

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

Concluzie

În acest tutorial, v-am arătat că creați o replicare Master / Slave MariaDB pe Debian 10.

Simțiți-vă liber să lăsați un comentariu dacă aveți întrebări.

debian mysql mariadb