新闻中心
如何在docker环境中快速部署mysql集群
首先利用Docker Compose编排MySQL主从实例,通过配置文件设置server-id、GTID及二进制日志,确保主从复制基础环境;接着在docker-compose.yml中定义master和sl*e服务,挂载各自配置与数据目录,创建自定义网络实现容器互通;启动容器后,在主库创建复制用户,从库执行CHANGE MASTER命令指向主库并开启复制,通过SHOW SL*E STATUS验证IO和SQL线程正常运行;最后在主库写入数据,从库自动同步,确认复制成功。该方法适用于快速搭建测试环境,核心在于配置隔离、网络连接与GTID一致性,生产环境需增强安全与高可用机制。

在Docker环境中快速部署MySQL集群,核心是利用Docker Compose编排多个MySQL实例,并通过主从复制或组复制(Group Replication)实现高可用。以下是基于MySQL主从架构的实用部署方法,适合开发和测试环境快速搭建。
准备配置文件与目录结构
为每个MySQL节点创建独立的配置和数据目录,确保配置隔离。
示例目录结构:- mysql-cluster/
- ├── master/
- │ ├── my.cnf
- │ └── data/
- ├── sl*e1/
- │ ├── my.cnf
- │ └── data/
- └── docker-compose.yml
master/my.cnf 配置:
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=row gtid-mode=ON enforce-gtid-consistency=true
sl*e1/my.cnf 配置:
[mysqld] server-id=2 relay-log=relay-bin log-sl*e-updates=ON read-only=ON gtid-mode=ON enforce-gtid-consistency=true
编写docker-compose.yml
定义主从两个MySQL服务,挂载配
置和数据卷,开放端口。
version: '3.8'
services:
mysql-master:
image: mysql:8.0
container_name: mysql-master
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_REPLICATION_USER: repl
MYSQL_REPLICATION_PASSWORD: replpass
ports:
- "3306:3306"
volumes:
- ./master/data:/var/lib/mysql
- ./master/my.cnf:/etc/mysql/conf.d/my.cnf
networks:
- mysql-net
<p>mysql-sl*e1:
image: mysql:8.0
container_name: mysql-sl*e1
environment:
MYSQL_ROOT_PASSWORD: rootpass
ports:</p><ul><li>"3307:3306"
volumes:</li><li>./sl*e1/data:/var/lib/mysql</li><li>./sl*e1/my.cnf:/etc/mysql/conf.d/my.cnf
depends_on:</li><li>mysql-master
networks:</li><li>mysql-net</li></ul><p>networks:
mysql-net:
driver: bridge</p>启动并配置主从复制
容器启动后,进入主库创建复制用户,再在从库执行CHANGE MASTER命令。
1. 启动服务:
docker-compose up -d
2. 查看主库状态:
MGX
MetaGPT推出的自然语言编程工具
163
查看详情
docker exec -it mysql-master mysql -uroot -p mysql> SHOW MASTER STATUS\G
3. 在从库配置主从关系:
docker exec -it mysql-sl*e1 mysql -uroot -p mysql> CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='repl', MASTER_PASSWORD='replpass', MASTER_AUTO_POSITION=1; mysql> START SL*E;
4. 检查从库复制状态:
mysql> SHOW SL*E STATUS\G # 确保 Sl*e_IO_Running 和 Sl*e_SQL_Running 都为 Yes
验证数据同步
在主库创建数据库和表,插入数据,查看从库是否自动同步。
mysql> CREATE DATABASE testdb; mysql> USE testdb; mysql> CREATE TABLE t1(id INT); mysql> INSERT INTO t1 VALUES(1);
切换到从库查询:
docker exec -it mysql-sl*e1 mysql -uroot -p -e "SELECT * FROM testdb.t1;"
若能看到插入的数据,说明主从同步成功。
基本上就这些。这种方案适合快速搭建测试用MySQL主从集群。生产环境建议结合监控、故障转移工具(如MHA)和更安全的密钥管理。使用Docker部署的关键是配置分离和网络互通,避免数据丢失注意挂载宿主机目录。不复杂但容易忽略细节,比如server-id唯一性和GTID一致性设置。
以上就是如何在docker环境中快速部署mysql集群的详细内容,更多请关注其它相关文章!
# word
# mysql
# 全攻略
# 多个
# 镜像
# 离线
# 数据丢失
# 配置文件
# ai
# 工具
# 端口
# docker
# 网站建设域名空间
# 产品营销类推广的设计
# seo关键词的定位
# qq音乐seo
# 网站tag页面优化不了
# 新网站如何进行优化排名
# seo优化角度分析
# 北京网站建设设计
# 百度app的营销推广
# 北京电商网站建设团队
# 适用于
# 自然语言
# 操作步骤
# 如何在
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】
浏览器打开即用 美图秀秀网页版入口
J*aScript类型检查_j*ascript代码规范
TikTok国际版官网直达_TikTok国际版官网直达进入在线观看
响应式图片在网页设计中的正确实现方法
Golang如何使用const iota_Go iota常量计数器讲解
从J*aScript对象中精确提取指定属性的教程
漫蛙2网页版漫画入口 漫蛙漫画在线官方登录
jQuery Mask 插件中实现电话号码固定前导零的教程
Excel Power Pivot如何处理XML数据源 构建高级数据模型
sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件
Archive of Our Own官网直达 AO3最新可用地址一览
俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口
蛙漫2台版漫画地址 Manwa2正版网页版链接
小米Civi 4录制视频过暗_小米Civi 4亮度优化
Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧
微博网页版首页入口 微博电脑端官网登录链接
c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧
J*a实现学校排课程序_面向对象结构化项目示例
在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析
yy漫画网页版官方入口_yy漫画官网登录页面链接
照顾宝贝2小游戏点击立即在线玩
虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
外媒分析《GTA6》定价:卖100美元可以但真没必要!
html两个JS只运行一个怎么办_让双JS在html中都运行方法【技巧】
C++如何实现异步操作_C++11使用std::future和std::async进行异步编程
Win11怎么查看显卡显存 Win11显示适配器属性及专用视频内存查询
如何将HTML表格多行数据保存到Google Sheets
极速漫画官方主页网址 极速漫画漫画在线浏览官网链接
uc浏览器网页版极速入口 uc网页浏览器网页版流畅体验
抖音网页版企业服务中心登录入口_抖音网页版企业登录平台
Tabulator表格日期时间排序问题及自定义解决方案
Flexbox布局实践:实现粘性导航栏与底部固定页脚
《噬血代码2》新预告片发布 展示游戏剧情
在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析
poki网页游戏推荐_poki免费游戏平台入口
C++ vector二维数组定义_C++ vector of vector用法
Win11怎么关闭触摸屏_Windows 11禁用HID符合标准触摸屏
Typer应用中动态命令行参数的解析与处理
微信客户端如何收红包_微信客户端接收红包使用教程
必由学官方登录入口 必由学教师学生账号快速访问
C++ explicit关键字防止隐式转换_C++构造函数安全规范
谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版
mysql如何设置表访问权限_mysql表访问权限配置
C++ string find函数返回值npos详解_C++字符串查找失败的判断条件
J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析
《刺客信条4:黑旗》重制版新细节曝光:无缝加载 地图更细致!
如何修改开机登录密码_Windows账户安全设置超详细教程【必学】
J*aScript中高效管理与清空动态列表:避免循环陷阱


2025-10-15
浏览次数:次
返回列表