mysql replicarea bazei de date pentru tipul de maestru

Având servere în centre de date sigure din Europa. Deschideți nor VPS server / VDS pe un SSD rapid în 1 minut!

Cel mai bun Web Hosting:
- va proteja datele împotriva accesului neautorizat într-un centru european de date securizat
- va plăti cel puțin în Bitcoin.
- Acesta va pune distribuție

- protecție împotriva atacurilor DDoS-
- gratuit de backup
- Uptime 99,9999%
- DPC - TIER III
- ISP - NIVELULUI I

Suport în 24/7/365 rusă lucra cu persoane juridice și persoane fizice. Ai nevoie de acum 24 de bază și 72 GB RAM. Vă rog!

Tarifele noastre competitive dovedesc că cele mai ieftine de găzduire pe care nu a știut!

O chestiune de minute, selectați configurația, să plătească și CMS pe un VPS este gata.
Bani Înapoi - 30 de zile!

Carduri bancare, moneda electronică prin intermediul unor terminale QIWI, Webmoney, PayPal, Novoplat și altele.

Pune o intrebare 24/7/365 Suport

Găsiți răspunsurile în baza noastră de date, și să respecte recomandările din

Care este replicarea MySQL?

Acest manual oferă un exemplu foarte simplu de replicare MySQL, în care baza de date master trimite slave informații de bază de date. Pentru a finaliza acest proces, aveți nevoie de două IP: Scrieți de master-server și slave-Server.

cerinţe

Acest articol presupune un utilizator cu privilegii sudo, precum și sistemul de pre-instalat MySQL. Pentru a instala MySQL, introduceți:

sudo apt-get install mysql-MySQL server-client

1: Configurarea bazei de date master

Pe de master-server, deschide mysql fișierul de configurare:

sudo nano /etc/mysql/my.cnf

În acest fișier aveți nevoie pentru a face câteva modificări.

În primul rând, găsiți secțiunea care arata ca acest lucru (se conecteaza la server la gazdă locale):

se referă la următoarea schimbare Directiva server id, situat în secțiunea mysqld. Aici puteți seta orice variabilă (probabil cel mai simplu pentru a începe cu 1), dar numărul trebuie să fie unic și nu se potrivesc cu orice alt server-id în grupul de replicare.

În cele din urmă, specificați baza de date pe care doriți să îl copiați pe slave-Server. Puteți face mai mult de o bază de date, repetând această linie în configurația dorită, fiecare bază.

După ce ați făcut modificările necesare, salvați și închideți fișierul de configurare.

sudo serviciu MySQL repornire

Restul sunt pașii din shell-ul MySQL.

Deschide un shell MySQL:

Pass privilegii slave-server. Această linie poate fi, de asemenea, utilizat pentru a specifica numele și parola unui sclav-server. Echipa are următorul format:

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

acțiuni suplimentare un pic mai greu. Pentru a realiza sarcina, aveți nevoie pentru a deschide o fereastră nouă sau filă, în plus față de cele deja utilizate.

deschis «newdatabase» bază de date în fila curentă.

Apoi, aveți nevoie pentru a bloca baza de date pentru a preveni orice modificări:

TABELE Flush CITIȚI CU BLOCARE;

SHOW MASTER STARE;

Ar trebui să vedeți un tabel similar:

Din această poziție a bazei de date de replicare slave va începe. Notați aceste numere, ei vor veni la îndemână mai târziu.

Orice modificare în aceeași cutie, baza de date va fi deblocat automat. Pentru că aveți nevoie pentru a deschide o nouă filă sau o fereastră și urmați pașii de acolo.

Baza de date are încă nevoie să fie blocat. Exportă baza de date într-o fereastră nouă folosind mysqldump (următoarea comandă pentru a efectua în bash shell, in loc de MySQL).

mysqldump -u rădăcină -p --opt newdatabase> newdatabase.sql

Acum du-te înapoi la fereastra inițială și de a debloca baza de date, permitand din nou a face modificări. Închideți carcasa.

DEBLOCARE TABELE;
QUIT;

Acum, baza de date master este gata.

2: Setarea bazei de date slave

Pregătirea bazei de date master, puteți trece pentru a configura baze de date slave.

Conectați-vă la server, MySQL, deschide plicul și de a crea o nouă bază de date care va conține datele replicate de master, și apoi închideți carcasa:

CREATE DATABASE newdatabase;
EXIT;

Importul unui anterior exportat din baza de date master.

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

Acum trebuie să configurați sclav în același fel cum a fost cu comandantul:

sudo nano /etc/mysql/my.cnf

În urma avizului secțiunii precedente, setați o anumită configurație importantă. Începeți cu server-ID; după cum am menționat mai devreme, acest număr trebuie să fie unic. Deoarece în secțiunea anterioară a fost setat la 1, acum trebuie să instalați altceva:

Apoi, asigurați-vă că următoarele trei criterii sunt completate în mod corespunzător:

releu-log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = newdatabase

De asemenea, aveți nevoie pentru a face o linie de releu-jurnal, care nu este implicit. La finalizarea nu uitați să salvați și închideți fișierul de configurare slave.

Refaceți MySQL:

sudo serviciu MySQL repornire

Apoi, trebuie să activați replicarea în MySQL shell.

Deschideți shell-ul MySQL și introduceți următoarele detalii, înlocuind valorile implicite.

SCHIMBARE LA MASTER MASTER_HOST = '12 .34.56.789 'MASTER_USER =' slave_user 'MASTER_PASSWORD =' parola 'MASTER_LOG_FILE =' mysql-bin.000001“, MASTER_LOG_POS = 107;

Această comandă efectuează o serie de acțiuni:

  1. identifică serverul curent ca un sclav-server;
  2. serverul prevede introducerea datelor corecte;
  3. El a spus slave-server de unde să înceapă replicarea; jurnal de master-server și poziția la care doriți să înceapă replicarea, sunt indicate cu numerele care au fost înregistrate anterior.

Gata! Master- și slave-Server este configurat.

SHOW SLAVE STARE \ G

Dacă ai probleme cu sclav de comunicare încercați să executați cu următoarea comandă:

SET SQL_SLAVE_SKIP_COUNTER GLOBAL = 1; SLAVE START;