在 Docker 中部署 Mysql 并挂载配置文件

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 在 Docker 中部署 Mysql 并挂载配置文件

在 Docker 中部署 MySQL 并挂载配置文件,可以使用以下步骤:

创建本地目录

首先,在主机上创建一个目录,用于存放 MySQL 的配置文件。例如,创建一个名为 mysql 的目录,用于存放 MySQL 的配置文件。

mkdir mysql
mkdir mysql/conf
mkdir mysql/data

拉取 MySQL 镜像

使用以下命令从 Docker Hub 上拉取 MySQL 的最新镜像:

docker pull mysql

启动 MySQL 容器

使用以下命令启动一个名为 mysql 的 MySQL 容器,并将主机的 mysql 目录挂载到容器内的 /etc/mysql/conf.d 目录:

docker run --name mysql -v  /root/mysql/conf:/etc/mysql  -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3307:3307 mysql:5.7  --defaults-file=/etc/mysql/my.cnf

其中,--name 指定容器名称,-v /path/to/mysql:/etc/mysql/conf.d 将主机的 mysql 目录挂载到容器内的 /etc/mysql/conf.d 目录,-v /path/to/mysql/data:/var/lib/mysql 将主机的 mysql/data 目录挂载到容器内的 /var/lib/mysql 目录,-e MYSQL_ROOT_PASSWORD=<password> 指定 MySQL 的 root 用户的密码,-d 表示以后台模式启动容器,-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口。

修改 MySQL 配置文件

在主机的 mysql 目录中创建一个名为 my.cnf 的文件,用于修改 MySQL 的配置。例如,以下是一个简单的配置文件示例:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

在这个示例中,我们指定了 MySQL 的字符集和排序规则。

重启 MySQL 容器

在主机的 mysql 目录中修改 my.cnf 文件后,需要重启 MySQL 容器使配置生效。使用以下命令重启容器:

docker restart mysql

连接 MySQL

使用以下命令连接到 MySQL:

mysql -h 127.0.0.1 -P 3306 -u root -p

其中,-h 指定 MySQL 的 IP 地址,-P 指定 MySQL 的端口,-u 指定用户名,-p 表示需要输入密码。

以上就是在 Docker 中部署 MySQL 并挂载配置文件的步骤。需要注意的是,MySQL 的配置文件可以根据实际需求进行自定义,可以参考 MySQL 官方文档进行配置。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
60 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
20天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
60 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
10天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
10天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
23 1
|
17天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
32 1
|
10天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
37 0
|
1月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
289 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1月前
|
弹性计算 关系型数据库 MySQL
Docker安装MySQL
这篇文章详细介绍了如何使用Docker安装MySQL数据库服务,包括拉取镜像、配置数据卷以及启动容器的步骤。
295 0
Docker安装MySQL
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】