1: Abra três máquinas virtuais ou três contêineres
docker run -itd --name mysql_m -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
docker run -itd --name mysql_s1 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
docker run -itd --name mysql_s2 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
2: Defina um deles como mestre e os outros dois como escravos.
docker cp 容器名称:/etc/mysql/conf.d/docker.cnf m.cnf
三个复制过来,主mysql的上面加上
设置server-id
开启bin-log
从机上只用加server-id
三个的server-id应该不同
hospedar
[mysqld]
skip-host-cache
skip-name-resolve
server-id=1
log-bin=master-bin
de
[mysqld]
skip-host-cache
skip-name-resolve
server-id=2
Após a conclusão da modificação, coloque os arquivos correspondentes nos contêineres correspondentes.
3: Configure o principal
1: Entre no banco de dados e crie um usuário
create user 'rep'@'%' identified by '123456';
2: Autorizar novos usuários
grant replication slave on *.* to 'rep'@'%';
3: Atualizar permissões
flush privileges;
4: Tente fazer login como um novo usuário
mysql -urep -p123456
5: Verifique o número do registro e o número da posição
show master status;
4: Configure o escravo
change master to
master_host="192.168.128.138",master_port=3307,
master_user="rep",
master_password="123456",
master_log_file="master-bin.000001",
master_log_pos=737;
strat slave;
5: Verificação
mostrar status de escravo \GIt é válido
se os dois últimos forem
SIM