🢂MySQL Replikacja ‑ Cheatsheet (ściąga)
Replikacja w MySQL to mechanizm umożliwiający automatyczne kopiowanie danych z jednej bazy danych (master) do jednej lub wielu baz danych (slave).
Oto ściąga obejmująca konfigurację replikacji Master-Slave i Master-Master w MySQL, z uwzględnieniem wysokiej dostępności:
Konfiguracja Master-Slave
Na serwerze Master:
- Edytuj plik konfiguracyjny
my.cnf
lubmy.ini
:
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
- Restart MySQL, a następnie utwórz użytkownika replikacyjnego:
CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
- Sprawdź pozycję binloga:
SHOW MASTER STATUS;
Na serwerze Slave:
- Skonfiguruj
my.cnf
z unikalnym ID:
[mysqld]
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log
- Podłącz do Mastera, używając danych z
SHOW MASTER STATUS
:
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='nazwa_binloga',
MASTER_LOG_POS=pozycja;
- Uruchom replikację i sprawdź status:
START SLAVE;
SHOW SLAVE STATUS\G
Konfiguracja Master-Master
Konfiguracja Master-Master wymaga ustawienia obu serwerów zarówno jako Master, jak i Slave.
Na każdym serwerze:
- Skonfiguruj
my.cnf
z unikalnymserver-id
i włączonymlog_bin
:
[mysqld]
server-id = 1 # Ustaw na 2 dla drugiego serwera
log_bin = /var/log/mysql/mysql-bin.log
auto_increment_increment = 2
auto_increment_offset = 1 # Ustaw na 2 dla drugiego serwera
- Stwórz użytkownika replikacyjnego i podłącz serwery wzajemnie tak, jak w konfiguracji Master-Slave.
Wysoka dostępność
Dla wysokiej dostępności możesz użyć rozwiązań takich jak MySQL Cluster, Percona XtraDB Cluster, czy MariaDB Galera Cluster, które oferują automatyczną replikację, failover i odzyskiwanie.
-
MySQL Cluster:
- Konfiguracja MySQL Cluster wymaga zdefiniowania węzłów zarządzających, danych i SQL Node.
- Dokumentacja MySQL zawiera szczegółowe instrukcje konfiguracji.
-
Percona XtraDB Cluster:
- Instalacja na każdym węźle:
sudo apt-get install percona-xtradb-cluster-57
- Konfiguracja obejmuje ustawienie
wsrep_cluster_address
wmy.cnf
oraz inicjalizację pierwszego węzła.
- MariaDB Galera Cluster:
- Podobnie, instalujesz MariaDB, a następnie konfigurujesz
galera.cnf
z informacjami o klastrze.
Replikacja i wysoka dostępność wymagają starannej konfiguracji i regularnego monitorowania, aby zapewnić ciągłość działania usług. Upewnij się, że regularnie testujesz procedury awaryjne i backupy.