使用 Docker 配置 MySQL 主从集群

时间:2022-04-29
本文章向大家介绍使用 Docker 配置 MySQL 主从集群,主要内容包括配置文件内容、从服务器、启动 Docker MySQL、关联节点、从服务器、测试、More Information、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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

GitHub:https://github.com/khs1994-docker/mysql-cluster

配置文件内容

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

主服务器

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

从服务器

[mysqld]
server-id = 10

启动 Docker MySQL

编写 docker-compose.yml 文件,文件内容请查看 GitHub。

新建 .env 文件,写入以下内容

MYSQL_ROOT_PASSWORD=mytest

启动 Docker 容器

$ docker-compose up -d

关联节点

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

主服务器

登录主服务器

$ docker-compose exec mysql_master mysql -uroot -pmytest
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by 'mytest';
SHOW master status;

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

从服务器

新打开一个终端,登录从服务器

$ docker-compose exec mysql_node mysql -uroot -pmytest
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;

测试

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

create database test;

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

show databases;

More Information