背景
本文主要讲解MySQL的主从复制,因为本人只有一台服务器,所以只能借助Docker技术来满足主从复制多台MySQL服务器的需要。本文以主机MySQL和Docker容器MySQL进行主从复制功能。
操作步骤
- 启动Docker容器MySQL服务器
- 配置主服务器
- 配置从服务器
- 测试主从复制是否正常运行
- 启动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复制代码
- 配置主服务器
-
启动主服务器的二进制日志功能 - 修改MySQL的配置文件并重启
-
查看二进制文件状态
-
创建数据同步用户
-
授以数据同步用户replication slave权限
- 配置从服务器
-
进入Docker MySQL服务器
-
修改从服务器的配置文件
Docker容器没有vim等编辑器,因为镜像是只读的,所以我们可以换一种思路达到修改配置文件的目的,在主机上编辑mysql.cnf文件,然后使用docker命令:docker cp mysql.cnf container_id:/etc/mysql/mysql.conf.d/,拷贝mysql.cnf文件到容器中,最后超重启mysql服务器,重启过程中,容器会停止,需要重启容器。 -
Master和Slave对接
-
开启主从复制功能
-
查看主从复制是否正常工作
参考链接: