
Docker部署MySQL主从:解决配置错误与文件路径问题
下载需积分: 0 | 158KB |
更新于2024-08-03
| 76 浏览量 | 举报
收藏
在Docker环境中配置MySQL主从复制是一项常见的运维任务,特别是在微服务架构中,通过容器化来实现数据库的高可用性和扩展性。本篇文档提供了详细的步骤来设置MySQL主从关系,适用于使用Docker部署MySQL 5.7版本。
首先,如果在尝试启动容器时遇到问题,比如报错提示没有找到`/etc/mysql/conf.d`目录,这可能是因为配置文件夹没有被正确映射到容器内部。解决方法是先停止有问题的实例,然后运行一个新的实例,将本地的`mydata/mysql-master/conf`目录挂载到容器的`/etc/mysql`下:
```shell
docker run -p 3307:3306 --privileged=true --name mysql-master \
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
```
这里,`--privileged=true`用于授予容器root权限,以便可以访问主机的配置文件。`-v`选项用于数据卷(volume)挂载,确保数据持久化。`MYSQL_ROOT_PASSWORD`环境变量设置MySQL root用户的密码。
然而,在尝试启动时,由于缺少`conf.d`目录,`mysqld`进程会失败并终止。这时,可以通过临时创建一个空的`mydata/mysql-master/conf`目录,并在容器内运行`mysql`命令来检查问题,例如:
```shell
docker run -p 3306:3306 --name temporarily_mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
# 进入临时容器并检查
docker cp /path/to/local/conf.d /mydata/mysql-master/conf
docker exec -it temporarily_mysql sh
# 在容器内确认配置文件是否正确
mysqladmin -u root status
```
如果配置文件问题解决,删除临时实例并重新运行原镜像:
```shell
docker rm temporarily_mysql
docker rmi mysql-master
```
接着再次运行原配置的镜像,确保挂载正确的配置文件夹:
```shell
docker run -p 3307:3306 --privileged=true --name mysql-master \
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
```
完成这些步骤后,你应该能够成功地在Docker中配置MySQL主从关系,确保数据库的备份、故障转移和性能优化。务必保持容器之间的网络连通性,并定期更新镜像以获取最新的安全补丁和功能。同时,记得备份重要数据以防意外。
相关推荐









m0_53926316
- 粉丝: 0
最新资源
- C++关键字深度解析:const、sizeof与static
- 清华图书馆在线HTML教程速查手册打包下载
- 掌握《数据库原理及应用(Access 2003)》的进阶指南
- C#与ASP.NET构建站长工具箱源代码
- 需求分析文档模板,专业打造高效沟通
- Visual C++ 2005经典教程与基础概览
- CLDC规范说明:新手指南与下载指南
- 源码分享:基于JSP与Tomcat的后台管理网站
- 台湾教授开发的LIBSVM:高效SVM分类与回归工具
- 探索游戏CS网站3.0:ASP开发的深度模仿
- 160个div+css4的封装技术与应用
- 探索最新开源HGE2D引擎及其DirectX8.0特性
- CSS+div布局模板案例深度解析
- Axialis Glossy Buttons素材包分析与应用
- 大学初级离散数学学习讲义PDF下载
- 新浪网图片调用效果:Flash技术实现图片更换功能
- VB.NET课程设计指南与实践
- Oracle图形界面CSE软件深入介绍与应用
- Shell扩展编程实例:定制文件右键菜单实现DLL管理
- CH375芯片U盘方案与驱动开发资料全集
- 掌握SQL SERVER编程:《举一反三》实战训练光盘解析
- CVS版本控制解决方案:CVSNT 2.0.58d + TortoiseCVS 1.8.14发布
- 基于JAVA+JSP的无刷新聊天室实现教程
- Spring和Hibernate整合,C标签实现MySQL分页技术