MySQL репликация

Репликация MySQL подобрява голяма гъвкавост приложения, както и спомага за разпределение на натоварването между сървъри, бази данни или база данни MariaDB MySQL.

Как MySQL репликация

За създаване на репликация трябва да бъде най-малко 2 сървъри. Един от тях ще бъде господар-сървъра. и втората (и други) - роб. Когато извършвате операции на базата данни на главния сървър, той записва цялата информация в специален файл - binlog. Робът на сървъра, от своя страна, се свързва с главния сървър, и сравнява стойността, ако има нова информация - тя изпълнява в своята база данни.

настройки Пример репликация

Например, ние вземат 2 сървъри. Ще инсталирате примера на Debian GNU / Linux. Създаване навсякъде почти същото, освен че my.cnf файла в Debian (Ubuntu) се намира в директорията / и т.н. / MySQL / и CentOS - само в / и т.н. /.

  • Майстор-сървър - 192.168.0.1
  • Slave-сървър - 192.168.0.2

Конфигуриране на магистър-сървър.

За да започнете, трябва да се отвори my.cnf файл и да уточни следното:

# Изберете ID на сървъра, на произволен брой, по-добре е да се започне с 1
сървъра номер = 1

# Път към двоичен дефилето
log_bin = /var/log/mysql/mysql-bin.log

# Името на базата данни, която е необходима щеката
binlog_do_db = websitedb

След това рестартирайте командата MySQL сървър

След това, ние трябва да се даде на потребителя правото да възпроизведе. Свързване към сървъра като корен:

Добавете необходимите разрешения за потребителите slave_user (websitedb нашия собственик на база данни) и да го даде на парола Парола:

. Дарение REPLICATION роб * * ДА "slave_user '@'% ', идентифицирани от" парола ";
FLUSH ПРИВИЛЕГИИ;

След това, ние трябва да се блокират всички таблици с всички промени:

ИЗПОЛЗВАЙТЕ websitedb;
FLUSH маси с READ LOCK;

След това, ние трябва да проверите състоянието на магистър-сървър с командата:

SHOW статус капитана;

Ако всичко е направено правилно, ще видите съобщение с име на файла с името на формата:

И също така се отбелязва стойността на позицията на колоната. В нашия случай, това е 10.
Това име, ние трябва да се създаде и управлява роб сървър.

Направете свежа сметище на базата данни:

mysqldump -u корен -р websitedb> websitedb.sql

Копирайте файла на сървъра на роб и на съветника се свързва с MySQL отново като корен и изпълните командата за отключване на таблица:

Създаване на база данни на Slave-сървър

За всички работи правилно на сървъра на роб, трябва да се създаде база данни със същото име. Свързване с MySQL сървър в роб и да се създаде база данни:

CREATE DATABASE websitedb;

И си запълваме сметище, което вече сме копирали командата:

MySQL -u корен -р websitedb

Заявление обслужване Техническа поддръжка