Навіщо потрібна реплікація MySQL
Реплікація MySQL підтримує точну копію бази даних на другому сервері в реальному часі: для розподілу читання, аварійного відновлення та бекапів без навантаження на master.
Налаштування Master-сервера
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_format = ROWmysql -u root -p -e "
CREATE USER 'replicator'@'%' IDENTIFIED BY 'ReplPass123!';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;"
mysql -u root -p -e "SHOW MASTER STATUS\G"Налаштування Slave-сервера
[mysqld]
server-id = 2
read_only = 1mysql -u root -p -e "
CHANGE MASTER TO
MASTER_HOST='192.168.1.10',
MASTER_USER='replicator',
MASTER_PASSWORD='ReplPass123!',
MASTER_AUTO_POSITION=1;
START SLAVE;"Моніторинг реплікації
mysql -u root -p -e "SHOW SLAVE STATUS\G"
-- Slave_IO_Running: Yes
-- Slave_SQL_Running: Yes
-- Seconds_Behind_Master: 0Якщо
Slave_IO_Running: No або Slave_SQL_Running: No — реплікація зламана. Перевірте Last_Error.