Slavii
Cuprins:
- Cerințe preliminare
- Instalați MySQL
- Configurați serverul principal
- Configurați serverul Slave
- Testați configurația
- Concluzie
Replicarea MySQL este un proces care permite copierea datelor dintr-un server de baze de date automat pe unul sau mai multe servere.
MySQL acceptă o serie de 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ă în cazul în care masterul trimite evenimente care descriu modificările bazei de date în jurnalul său binar și sclavii solicită evenimentele când sunt gata.
Acest tutorial acoperă un exemplu de bază al replicării MySQL Master / Slave cu un server master și un server slave pe Ubuntu 18.04. Aceiași pași se aplică pentru MariaDB.
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
Acest exemplu presupune că aveți două servere care rulează Ubuntu 18.04, care pot comunica între ele printr-o rețea privată. Dacă furnizorul dvs. de găzduire nu oferă 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 din acest exemplu au următoarele IP-uri:
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
Instalați MySQL
Depozitele Ubuntu 18.04 implicite includ versiunea 5.7 MySQL. Pentru a evita orice probleme, este mai bine să instalați aceeași versiune MySQL pe ambele servere.
Instalați MySQL pe serverul Master:
sudo apt-get update
sudo apt-get install mysql-server
Instalați MySQL pe serverul Slave folosind aceleași comenzi:
sudo apt-get update
sudo apt-get install mysql-server
Configurați serverul principal
Primul pas este să configurați serverul principal MySQL. Vom face următoarele modificări:
- Setați serverul MySQL să asculte pe IP-ul privat.Setați un ID unic de server.. Activați jurnalul binar
Pentru aceasta, deschideți fișierul de configurare MySQL și decomandați sau setați următoarele:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Maestrul: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Odată terminat, reporniți serviciul MySQL pentru ca modificările să aibă efect:
sudo systemctl restart mysql
Următorul pas este crearea unui nou utilizator de replicare. Conectați-vă la serverul MySQL ca utilizator rădăcină tastând:
sudo mysql
Din interiorul promptului MySQL, executați următoarele interogări SQL care vor crea utilizatorul
replica
și vor acorda utilizatorului privilegiul
REPLICATION SLAVE
:
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
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 imprima numele și fișierul binar.
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)
Rețineți numele fișierului, „mysql-bin.000001” și poziția „629”. Veți avea nevoie de aceste valori atunci când configurați serverul slave. Aceste valori vor fi probabil diferite pe serverul dvs.
Configurați serverul Slave
Ca și pentru serverul principal de mai sus, vom face următoarele modificări serverului slave:
- Setați serverul MySQL pentru a asculta pe IPSetul privat un server unic IDEnable logging binar
Deschide fișierul de configurare MySQL și editează următoarele linii:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
slave: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
Reporniți serviciul MySQL:
sudo systemctl restart mysql
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 MySQL:
sudo mysql
În primul rând, opriți firele de sclavi:
STOP SLAVE;
Rulați următoarea interogare care va configura sclavul pentru a reproduce masterul:
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;
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.
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 funcționează așa cum era de așteptat, vom crea o nouă bază de date 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 MySQL.
Simțiți-vă liber să lăsați un comentariu dacă aveți întrebări.
ubuntu mysql mariadbCum se configurează și se configurează setările firewall-ului Router
Aflați cum să configurați firewall-ul routerului, Aflați ce porturi sunt necesare pe computer.
Cum se configurează mysql master
Replicarea MySQL este un proces care vă permite să copiați automat datele de la un server de baze de date pe unul sau mai multe servere. În acest tutorial vă vom explica cum să configurați o replicare Master / Slave MySQL cu un server master și un server slave pe CentOS 7.
Cum se configurează mysql (mariadb) master
Î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.







