Android

Kako konfigurirati mysql (mariadb) master

Instalacija Apache, MariaDB i PHP na Centos 7 core serveru

Instalacija Apache, MariaDB i PHP na Centos 7 core serveru

Sadržaj:

Anonim

Umnožavanje MySQL postupak je kopiranja podataka s jednog poslužitelja baze podataka (master) na jedan ili više poslužitelja (robova).

MySQL podržava nekoliko topologija replikacije, s tim da je topologija Master / Slave jedna od najpoznatijih topologija u kojima jedan poslužitelj baze podataka djeluje kao master, dok jedan ili više poslužitelja djeluju kao robovi. Replikacija je prema zadanom asinkrona gdje master šalje događaje koji opisuju izmjene baze podataka u svoj binarni dnevnik i robovi zahtijevaju događaje kada su spremni.

U ovom ćemo vam vodiču pokazati kako postaviti MariaDB Master / Slave replikaciju s jednim glavnim i jednim slave serverom na Debianu 10. MariaDB je zadana implementacija MySQL-a u Debianu. Isti koraci vrijede i za Oracle MySQL.

Ova vrsta topologije replikacije najprikladnija je za razmještanje čitanja replika za skaliranje čitanja, izradu sigurnosnih kopija baza podataka za oporavak od katastrofe i za analitičke poslove.

Preduvjeti

Pretpostavljamo da imate dva poslužitelja koji pokreću Debian 10 i koji međusobno komuniciraju putem privatne mreže. Ako vaš pružatelj hosting usluga ne podržava privatne IP adrese, možete koristiti javne IP adrese i konfigurirati vatrozid tako da dopušta promet na priključku 3306 samo iz pouzdanih izvora.

Poslužitelji korišteni u ovom primjeru imaju sljedeće IP adrese:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

Instaliranje MariaDB

Zadana spremišta Debian 10 uključuju MariaDB verzije 10.3. Najbolje je instalirati istu verziju MariaDB na oba poslužitelja kako biste izbjegli moguće probleme.

Instalirajte MariaDB i na nadređeni i na slave izdavanjem sljedećih naredbi:

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

Konfiguriranje glavnog poslužitelja

Prvi korak je postavljanje glavnog poslužitelja. Izvršit ćemo sljedeće promjene:

  • Postavite MariaDB poslužitelj da sluša na privatnom IP-u. Postavi jedinstveni ID poslužitelja. Omogući binarno vođenje zapisnika.

Otvorite MariaDB konfiguracijsku datoteku i komentirajte ili postavite sljedeće retke:

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

Nakon završetka spremite datoteku i ponovno pokrenite MySQL uslugu da bi promjene postale učinkovite:

sudo systemctl restart mariadb

Sljedeći je korak stvaranje novog korisnika replikacije. Prijavite se na poslužitelj MariaDB kao korijenski korisnik:

sudo mysql

Pokrenite sljedeće SQL upite da biste stvorili replica imenom korisnika i dodijelili povlastici REPLICATION SLAVE korisniku:

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

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; Obavezno promijenite IP adresu s slave IP adrese. Možete imenovati korisnika kako želite.

Dok ste još u MySQL upita, izvršite sljedeću naredbu koja će ispisati naziv binarne datoteke i položaj.

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)

Zabilježite naziv datoteke, "mysql-bin.000001" i poziciju "328". Te su vrijednosti potrebne prilikom konfiguriranja podređenog poslužitelja i vjerojatno će se razlikovati na vašem poslužitelju.

Konfiguriranje Slave poslužitelja

Napravit ćemo iste promjene na podređenom poslužitelju kao i one na glavnom poslužitelju:

  • Postavite MySQL poslužitelj da sluša na privatnom IP-u. Postavi jedinstveni ID poslužitelja. Omogući binarno vođenje dnevnika.

Otvorite MariaDB konfiguracijsku datoteku i uredite sljedeće retke:

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

Ponovo pokrenite MariaDB uslugu:

sudo systemctl restart mariadb

Sljedeći korak je konfiguriranje parametara koje će podređeni poslužitelj koristiti za spajanje na glavni poslužitelj. Prijavite se u MariaDB školjku:

sudo mysql

Započnite zaustavljanjem robovskih niti:

STOP SLAVE;

Pokrenite sljedeći upit za konfiguriranje master / slave replikacije:

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;

Obavezno koristite ispravnu IP adresu, korisničko ime i lozinku. Naziv i položaj datoteke zapisa moraju biti isti kao vrijednosti koje ste dobili s glavnog poslužitelja.

Kada završite, započnite niti s robovima.

START SLAVE;

Testirajte konfiguraciju

U ovom trenutku, trebali biste imati ispravnu instalaciju Master / Slave.

Da biste provjerili je li sve ispravno postavljeno, stvorite novu bazu podataka na glavnom poslužitelju:

sudo mysql

CREATE DATABASE replicatest;

Prijavite se u slave MySQL školjke:

sudo mysql

Pokrenite sljedeću naredbu za popis svih baza podataka:

SHOW DATABASES;

Primijetit ćete da se baza podataka koju ste stvorili na glavnom poslužitelju replicira na slave:

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

Zaključak

U ovom smo vodiču pokazali kako kreirate MariaDB Master / Slave replikaciju na Debianu 10.

Slobodno ostavite komentar ako imate bilo kakvih pitanja.

debian mysql mariadb