使用 Docker 配置 MySQL 主从集群

使用 Docker Compose 启动一主两从的 MySQL 集群。

GitHub:https://github.com/khs1994-docker/lnmp/blob/master/docker-cluster.mysql.yml

类型

  • 一主多从

  • 多主一丛 (多源复制)

配置文件内容

可以通过命令配置,这里以配置文件举例。

主服务器

1
2
3
[mysqld]
log-bin = mysql-bin
server-id = 1

从服务器

1
2
[mysqld]
server-id = 10

关联节点

下面了介绍手动执行的步骤,GitHub 中将这一步写入了 shell 脚本文件。

主服务器

登录主服务器

1
2
3
4
5
CREATE USER 'backup'@'%' identified by 'mytest';

GRANT REPLICATION SLAVE ON *.* to 'backup'@'%';

SHOW master status;

记住 FilePosition 的值。我查出来的是 mysql-bin.000004312

从服务器

登录从服务器

1
2
3
4
5
6
7
change master to master_host='mysql_1',master_user='backup',
master_password='mytest',master_log_file='mysql-bin.000004',
master_log_pos=312,master_port=3306;

start slave;

show slave status;

测试

在主服务器创建一个数据库

1
create database test;

在从服务器查看数据库,发现已经存在了 test(与主服务器同步)

1
show databases;

More Information

0%