Android

Kako konfigurirati mysql master

MySQL Tutorijali - 3 - Instalacija MySQL Servera

MySQL Tutorijali - 3 - Instalacija MySQL Servera

Sadržaj:

Anonim

Umnožavanje MySQL postupak je koji omogućava da se podaci s jednog poslužitelja baze podataka automatski kopiraju na jedan ili više poslužitelja.

MySQL podržava brojne topologije 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.

Ovaj je vodič opisao osnovni primjer replikacije MySQL Master / Slave s jednim glavnim i jednim podređenim poslužiteljem na Ubuntu 18.04. Isti koraci vrijede i za MariaDB.

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

Preduvjeti

Ovaj primjer pretpostavlja da imate dva poslužitelja s operativnim sustavom Ubuntu 18.04, koji mogu međusobno komunicirati preko privatne mreže. Ako vaš pružatelj hosting usluga ne nudi privatne IP adrese, možete koristiti javne IP adrese i konfigurirati svoj vatrozid tako da dopušta promet na priključku 3306 samo iz pouzdanih izvora.

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

Master IP: 192.168.121.190 Slave IP: 192.168.121.236

Instalirajte MySQL

Zadana skladišta Ubuntu 18.04 uključuju MySQL verziju 5.7. Da biste izbjegli bilo kakve probleme, najbolje je instalirati istu verziju MySQL-a na oba poslužitelja.

Instalirajte MySQL na glavni poslužitelj:

sudo apt-get update sudo apt-get install mysql-server

Instalirajte MySQL na Slave poslužitelj pomoću istih naredbi:

sudo apt-get update sudo apt-get install mysql-server

Konfigurirajte glavni poslužitelj

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

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

Da biste to učinili, otvorite MySQL konfiguracijsku datoteku i komentirajte ili postavite sljedeće:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf majstor: /etc/mysql/mysql.conf.d/mysqld.cnf

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

Nakon završetka, ponovno pokrenite MySQL uslugu da bi promjene stupile na snagu:

sudo systemctl restart mysql

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

sudo mysql

Iznutra unutar MySQL upita, pokrenite sljedeće SQL upite koji će stvoriti korisnika replica i dodijeliti privilegiju REPLICATION SLAVE korisniku:

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

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236'; 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: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

Uzmite u obzir naziv datoteke, "mysql-bin.000001" i poziciju "629". Te će vam vrijednosti trebati prilikom konfiguriranja podređenog poslužitelja. Te će se vrijednosti vjerojatno razlikovati na vašem poslužitelju.

Konfigurirajte Slave Server

Kao i za glavni nadređeni poslužitelj, napravit ćemo sljedeće promjene u podređenom poslužitelju:

  • Postavite MySQL poslužitelj da sluša na privatnom IPSet jedinstvenom poslužitelju IDEnable binarnu evidenciju

Otvorite MySQL konfiguracijsku datoteku i uredite sljedeće retke:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf rob: /etc/mysql/mysql.conf.d/mysqld.cnf

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

Ponovo pokrenite MySQL uslugu:

sudo systemctl restart mysql

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

sudo mysql

Prvo zaustavite robove robova:

STOP SLAVE;

Pokrenite sljedeći upit koji će postaviti pomoćnik da replicira master:

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

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 bismo provjerili radi li sve kako je i očekivano, stvorit ćemo 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 replikaciju MySQL Master / Slave.

Slobodno ostavite komentar ako imate bilo kakvih pitanja.

ubuntu mysql mariadb