技术文摘
MySQL 5.7基于Docker搭建主从复制架构教程
MySQL 5.7基于Docker搭建主从复制架构教程
在当今的数据库应用场景中,主从复制架构能够有效提升数据的可用性、读写性能以及数据安全性。本文将详细介绍如何基于Docker搭建MySQL 5.7主从复制架构。
确保已经安装了Docker环境。若没有安装,需按照官方文档进行安装配置。
接着,拉取MySQL 5.7镜像。在命令行中输入:docker pull mysql:5.7 ,等待镜像拉取完成。
创建主服务器容器。使用如下命令:
docker run -p 3306:3306 --name mysql-master \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=test \
-e MYSQL_USER=test \
-e MYSQL_PASSWORD=test \
-d mysql:5.7
这里将容器的3306端口映射到宿主机的3306端口,设置了root密码、数据库、用户名和密码等信息。
进入主服务器容器,修改主服务器配置。进入容器:docker exec -it mysql-master bash 。然后编辑MySQL配置文件,在 [mysqld] 下添加如下配置:
log-bin=mysql-bin
server-id=1
重启MySQL服务:service mysql restart 。
创建用于主从复制的用户并授权。进入MySQL客户端:mysql -uroot -proot ,执行如下命令:
CREATE USER'slave'@'%' IDENTIFIED BY'slave';
GRANT REPLICATION SLAVE ON *.* TO'slave'@'%' IDENTIFIED BY'slave';
FLUSH PRIVILEGES;
查询主服务器状态:SHOW MASTER STATUS; ,记录File和Position的值。
接下来创建从服务器容器,使用类似主服务器的命令创建,注意修改端口映射和容器名,如:
docker run -p 3307:3306 --name mysql-slave \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=test \
-e MYSQL_USER=test \
-e MYSQL_PASSWORD=test \
-d mysql:5.7
进入从服务器容器,修改配置文件,在 [mysqld] 下添加:
server-id=2
重启MySQL服务。
配置从服务器,进入MySQL客户端,执行如下命令:
CHANGE MASTER TO
MASTER_HOST='宿主机IP',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_LOG_FILE='主服务器记录的File值',
MASTER_LOG_POS=主服务器记录的Position值;
启动从服务器复制:START SLAVE; ,查看从服务器状态:SHOW SLAVE STATUS \G ,确保 Slave_IO_Running 和 Slave_SQL_Running 都为 Yes 。
至此,MySQL 5.7基于Docker的主从复制架构搭建完成,你可以放心地享受该架构带来的便利与优势。
- 利用这款 Python 工具剖析 Web 服务器日志文件
- 御姐趣讲设计模式:抱歉来晚了
- 在 Ubuntu 20.04 上安装 Rudder 系统审查台的方法
- Python 黑魔法:执行任意代码竟自动念《平安经》
- 7 款前端性能剖析神器工具
- 怎样规范 Git commit 操作
- 十分钟让你的代码库全副武装
- 开发人员岗位:Python 编程语言需求显著降低
- 探索 Raft 奥秘,掌握 ApacheRatis 中 Raft 组件的运用
- 6 招实用的 Python 代码技巧分享
- Shell 命令的新奇玩法超乎想象
- 怎样查找两个列表的差异
- 35 岁程序员“中危”后的人生规划之路
- 这家遭美国封禁的科技公司怎样熬过至暗时刻
- Node 在大前端的应用场景剖析