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