news 2026/9/2 23:03:28

Docker Compose 实战:5 分钟搭一套 MySQL 主从集群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker Compose 实战:5 分钟搭一套 MySQL 主从集群

在真实生产环境中,数据库绝不能只有一份。 哪怕你还没上 K8s,也应该至少有:

1 主 + 1 从 = 数据安全 + 读写分离

而 Docker Compose,正是最快落地 MySQL 主从的利器。


一、整体架构

我们要搭建的是经典 MySQL 主从架构:

二、准备目录结构

mysql-cluster/ ├── docker-compose.yml ├── master/ │ └── my.cnf └── slave/ └── my.cnf

三、Master 配置

master/my.cnf

[mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW

四、Slave 配置

slave/my.cnf

[mysqld] server-id=2 relay-log=mysql-relay-bin read-only=1

五、docker-compose.yml

version: "3.8" services: mysql-master: image:mysql:8.0 container_name:mysql-master restart:always environment: MYSQL_ROOT_PASSWORD:root volumes: -./master/my.cnf:/etc/mysql/conf.d/my.cnf -master-data:/var/lib/mysql ports: -"3306:3306" mysql-slave: image:mysql:8.0 container_name:mysql-slave restart:always environment: MYSQL_ROOT_PASSWORD:root volumes: -./slave/my.cnf:/etc/mysql/conf.d/my.cnf -slave-data:/var/lib/mysql ports: -"3307:3306" depends_on: -mysql-master volumes: master-data: slave-data:

六、一条命令启动

docker compose up -d 查看: docker compose ps

七、在 Master 上创建复制账号

​ ​ docker exec -it mysql-master mysql -uroot -proot CREATE USER 'repl'@'%' IDENTIFIED BY 'repl123'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; 查看 binlog: SHOW MASTER STATUS; 记住: File: mysql-bin.000001 Position: 1234 ​ ​

八、在 Slave 上配置同步

docker exec -it mysql-slave mysql -uroot -proot CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='repl', MASTER_PASSWORD='repl123', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1234; START SLAVE; 检查状态: SHOW SLAVE STATUS\G; 看到: Slave_IO_Running: Yes Slave_SQL_Running: Yes 说明主从同步成功 🎉

九、测试同步

在 master: CREATE DATABASE testdb; USE testdb; CREATE TABLE t1(id INT); INSERT INTO t1 VALUES(1); 在 slave: SELECT * FROM testdb.t1; 能看到 1,说明复制已生效。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 21:19:07

Qwen-Image-Layered进阶技巧:如何优化图层分离效果

Qwen-Image-Layered进阶技巧:如何优化图层分离效果 你是否曾为图像编辑中无法精准控制局部内容而烦恼?Qwen-Image-Layered 提供了一种全新的解决方案——将图像自动分解为多个独立的 RGBA 图层,每个图层都承载着画面中的特定元素。这种结构化…

作者头像 李华
网站建设 2026/8/24 15:09:53

手把手教你用bert-base-chinese做中文特征提取

手把手教你用bert-base-chinese做中文特征提取 1. 为什么你需要这一步:特征提取不是“黑盒”,而是理解文本的钥匙 你有没有遇到过这样的情况: 想给一堆用户评论打标签,但光靠关键词匹配总漏掉关键情绪?做相似商品描…

作者头像 李华
网站建设 2026/9/2 23:02:00

如何构建企业级压力测试系统:Python自动化工具的完整指南

如何构建企业级压力测试系统:Python自动化工具的完整指南 【免费下载链接】callPhoneBoom 最新可用!!!夺命百连呼、电话轰炸、电话攻击(电话轰炸、可代替短信轰炸)、留言攻击工具 项目地址: https://gitcode.com/gh_mirrors/ca/…

作者头像 李华
网站建设 2026/8/31 16:44:07

Moondream视觉语言模型:3步打造你的专属AI视觉助手

Moondream视觉语言模型:3步打造你的专属AI视觉助手 【免费下载链接】moondream 项目地址: https://gitcode.com/GitHub_Trending/mo/moondream 你是否曾梦想拥有一双能看懂世界的AI眼睛?当大型视觉模型动辄需要数十GB显存时,Moondrea…

作者头像 李华
网站建设 2026/9/2 22:59:59

70亿参数推理新选择!DeepSeek-R1-Distill-Qwen-7B发布

70亿参数推理新选择!DeepSeek-R1-Distill-Qwen-7B发布 【免费下载链接】DeepSeek-R1-Distill-Qwen-7B 探索深度学习新境界,DeepSeek-R1-Distill-Qwen-7B模型以卓越推理能力引领潮流,显著提升数学、编程和逻辑任务表现,开启AI智能新…

作者头像 李华
网站建设 2026/8/28 6:01:00

LongCat-Flash-Chat:5600亿参数AI如何实现智能新突破?

LongCat-Flash-Chat:5600亿参数AI如何实现智能新突破? 【免费下载链接】LongCat-Flash-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/meituan-longcat/LongCat-Flash-Chat 导语:美团团队推出的5600亿参数大语言模型LongCat-Fla…

作者头像 李华