replicare mysql

Replicarea MySQL îmbunătățește aplicațiile de rezilienta precum și ajută la distribuirea sarcinii între servere, baze de date sau baze de date MySQL MariaDB.

Cum replicare MySQL

Pentru a crea o replicare trebuie să fie de cel puțin 2 servere. Unul dintre ele va fi de master-server. iar al doilea (și altele) - slave. Când efectuați operații de bază de date de pe serverul de master, acesta înregistrează toate informațiile într-un fișier special - binlog. Un server sclav, la rândul său, se conectează la serverul de master, și compară valoarea în cazul în care există informații noi - se efectuează în baza sa de date.

Setările Exemplu de replicare

De exemplu, vom lua cele 2 servere. Va instala exemplul Debian GNU / Linux. Configurarea peste tot aproximativ aceeași cu excepția faptului că fișierul my.cnf în Debian (Ubuntu) este localizat în directorul / etc / mysql / și CentOS - doar în / etc /.

  • Master-Server - 192.168.0.1
  • Slave-server - 192.168.0.2

Configurarea Master-server.

Pentru a începe, aveți nevoie pentru a deschide fișierul my.cnf și specificați următoarele:

# Selectați ID-ul de server, un număr arbitrar, este mai bine să înceapă cu 1
server id = 1

# Calea către ravena binar
log_bin = /var/log/mysql/mysql-bin.log

# Numele bazei de date, care este nevoie de tac
binlog_do_db = websitedb

Apoi, reporniți comanda serverul MySQL

Apoi, avem nevoie pentru a da utilizatorului dreptul de a reproduce. Conectarea la server ca root:

Adăugați permisiunile necesare pentru utilizator slave_user (websitedb proprietarului, baza noastra de date) și să dea o parolă Parola:

. GRANT REPLICARE SCLAVI PE * * LA 'slave_user' @ '%' IDENTIFICAT cu 'parola';
PRIVILEGII Flush;

Apoi, avem nevoie pentru a bloca toate tabelele de către toate modificările:

UTILIZARE websitedb;
TABELE Flush CITIȚI CU BLOCARE;

Apoi, avem nevoie pentru a verifica starea de Master-server cu comanda:

SHOW MASTER STARE;

Dacă este făcută corect, veți vedea un mesaj cu un nume de fișier cu numele de forma:

Și, de asemenea, notați valoarea poziției coloanei. În cazul nostru, este 10.
Acest nume, avem nevoie pentru a crea și rula serverul slave.

Faceti o groapa proaspătă a bazei de date:

mysqldump -u rădăcină -p websitedb> websitedb.sql

Copiați fișierul la serverul slave și expertul se conectează la MySQL din nou ca root și rulați comanda pentru a debloca tabel:

Crearea unei baze de date de pe serverul Slave-

Pentru toate au lucrat corect pe serverul slave, trebuie să creați o bază de date cu același nume. Conectarea la MySQL în serverul slave și de a crea o bază de date:

CREATE DATABASE websitedb;

Și ne umple groapa noastră, pe care le-am copiat deja comanda:

mysql -u websitedb -p rădăcină

Aplicație Serviciul Suport Tehnic