На лекции рассматривались режимы репликации master-slave, master-master, опишите их различия.
Ответить в свободной форме.
master-slave:
- все производится на master, slave реплицирует изменения
master-master:
- на master добавляется режим slave, он реплицирует данные с сервера, который был slave
Данный режим может привести к потере данных.
Задание 2
Выполните конфигурацию master-slave репликации, примером можно пользоваться из лекции.
Приложите скриншоты конфигурации, выполнения работы: состояния и режимы работы серверов.
На оба сервера:
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
rpm -Uvh mysql80-community-release-el7-6.noarch.rpm
yum -y install mysql-server mysql-client
mysqld --initialize
chown -R mysql: /var/lib/mysql
mkdir -p /var/log/mysql
chown -R mysql: /var/log/mysql
/etc/my.cnf:
bind-address=0.0.0.0
server-id=(1..n)
log_bin=/var/log/mysql/mybin.log
cat /var/log/mysqld.log
mysql -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
FLUSH PRIVILEGES;
На master:
CREATE USER 'replication'@'%' IDENTIFIED WITH mysql_native_password BY '12345';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
SHOW MASTER STATUS;
На slave:
CHANGE MASTER TO MASTER_HOST='192.168.*.*', MASTER_USER='replication', MASTER_PASSWORD='12345', MASTER_LOG_FILE = 'mybin.000001', MASTER_LOG_POS = (число из колонки position из статуса мастера);
START SLAVE;
SHOW SLAVE STATUS\G;
На master:
create database hw_12_6_Panarin;
На slave:
show databases;
Дополнительные задания (со звёздочкой*)
Выполните конфигурацию master-master репликации. Произведите проверку.
Приложите скриншоты конфигурации, выполнения работы: состояния и режимы работы серверов.
На желаемом втором master:
show master status;
На старом мастере:
CHANGE MASTER TO MASTER_HOST='192.168.*.*', MASTER_USER='replication', MASTER_PASSWORD='12345', MASTER_LOG_FILE = 'mybin.000001', MASTER_LOG_POS = (число из колонки position из статуса мастера);
START SLAVE;
SHOW SLAVE STATUS\G;
На новом мастере:
create database zadanie_3;
На старом мастере:
show databases;