基于Docker下的MySQL主从复制

615 阅读1分钟

背景

本文主要讲解MySQL的主从复制,因为本人只有一台服务器,所以只能借助Docker技术来满足主从复制多台MySQL服务器的需要。本文以主机MySQL和Docker容器MySQL进行主从复制功能。

操作步骤

  1. 启动Docker容器MySQL服务器
  2. 配置主服务器
  3. 配置从服务器
  4. 测试主从复制是否正常运行
  • 启动Docker MySQL服务器
docker run --name slave_mysql -p 8802:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

命令解析:
通过镜像 mysql:latest 启动一个名为 slave_mysql 的 MySQL 服务器,端口号是3306,映射的宿主机端口号是8802,root 账号密码是123456

  • 配置主服务器
  1. 启动主服务器的二进制日志功能 - 修改MySQL的配置文件并重启

  2. 查看二进制文件状态

  3. 创建数据同步用户

  4. 授以数据同步用户replication slave权限

  • 配置从服务器
  1. 进入Docker MySQL服务器

  2. 修改从服务器的配置文件
    Docker容器没有vim等编辑器,因为镜像是只读的,所以我们可以换一种思路达到修改配置文件的目的,在主机上编辑mysql.cnf文件,然后使用docker命令:docker cp mysql.cnf container_id:/etc/mysql/mysql.conf.d/,拷贝mysql.cnf文件到容器中,最后超重启mysql服务器,重启过程中,容器会停止,需要重启容器。

  3. Master和Slave对接

  4. 开启主从复制功能

  5. 查看主从复制是否正常工作

参考链接:基于Docker的主从复制1 基于Docker的主从复制2