技术文摘
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的主从复制架构搭建完成,你可以放心地享受该架构带来的便利与优势。
- uniapp中页面添加下拉刷新及上拉加载更多功能的实现方法
- Layui开发支持可拖拽在线绘图工具的方法
- 利用Layui实现响应式日历功能的方法
- CSS布局技巧之实现全屏背景图片最佳实践
- CSS布局教程:达成对比布局的最优方法
- Uniapp实现餐饮外卖与菜品推荐的方法
- 用 HTML、CSS 与 jQuery 打造带淡入淡出效果的轮播图
- Layui 实现响应式网页排版设计的方法
- Uniapp 中借助 Uni UI 组件库快速搭建页面的方法
- CSS列表属性优化:list-style-type与list-style-position技巧
- HTML、CSS 与 jQuery 打造动态下拉菜单的方法
- HTML和CSS实现全屏视差布局的方法
- 用HTML、CSS和jQuery实现点击加载更多内容高级功能的方法
- CSS 达成无缝滚动效果的技巧与方法
- HTML、CSS与jQuery实现图片模糊效果技巧