docker怎么安装mysql

来源:站长工具作者:日本程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《docker怎么安装mysql》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《docker怎么安装mysql》有用,将其分享出去将是对创作者最好的鼓励。

使用docker安装mysql是当前主流的部署方式之一,相比传统本地安装,它不需要手动配置依赖环境,也不会污染宿主机的系统配置,还能快速创建多个不同版本的mysql实例,非常适合开发、测试场景使用。

docker怎么安装mysql

前置准备

首先确保宿主机已经安装了docker环境,可以通过下面的命令验证docker是否正常运行:

# 查看docker版本
docker --version
# 查看docker服务状态
systemctl status docker

如果还没有安装docker,可以先完成docker的基础安装,确保docker服务处于运行状态后再进行后续操作。

拉取mysql镜像

docker安装mysql的第一步是拉取官方mysql镜像,默认会拉取最新版本的镜像,也可以指定具体的版本号。执行下面的命令拉取镜像:

# 拉取最新版mysql镜像
docker pull mysql
# 拉取指定版本,比如8.0版本
docker pull mysql:8.0

拉取完成后可以通过下面的命令查看本地已有的镜像:

docker images | grep mysql

启动mysql容器

拉取镜像后就可以启动mysql容器了,启动时需要配置端口映射、root密码、数据持久化等参数,下面是常用的启动命令:

docker run -d 
  --name mysql_container 
  -p 3306:3306 
  -v /mydata/mysql/log:/var/log/mysql 
  -v /mydata/mysql/data:/var/lib/mysql 
  -v /mydata/mysql/conf:/etc/mysql/conf.d 
  -e MYSQL_ROOT_PASSWORD=123456 
  mysql:8.0

下面解释各个参数的含义:

  • -d:后台运行容器,避免终端退出后容器停止
  • --name mysql_container:给容器指定一个自定义名称,方便后续操作
  • -p 3306:3306:端口映射,将宿主机的3306端口映射到容器的3306端口,外部可以通过宿主机3306端口访问mysql
  • -v:数据卷挂载,实现数据持久化,避免容器删除后数据丢失,分别挂载了日志、数据文件、配置文件目录
  • -e MYSQL_ROOT_PASSWORD=123456:设置mysql root用户的密码,这是必填参数,否则容器无法启动
  • mysql:8.0:指定使用的镜像名称和版本

验证安装结果

容器启动后可以通过以下方式验证mysql是否正常运行:

查看容器运行状态

docker ps | grep mysql_container

如果看到容器的状态是Up,说明容器正常运行。

进入容器连接mysql

# 进入容器终端
docker exec -it mysql_container bash
# 在容器内连接mysql
mysql -uroot -p123456

如果能够成功进入mysql命令行界面,说明mysql安装和启动成功。

外部工具连接测试

可以使用本地的mysql客户端工具,比如Navicat、DBeaver等,连接宿主机的3306端口,使用root账号和密码123456进行连接,验证是否可以正常访问。

常见问题处理

端口被占用

如果启动时报错端口被占用,可以修改宿主机的映射端口,比如将-p 3306:3306改为-p 3307:3306,外部访问时使用3307端口即可。

数据卷权限问题

如果启动后日志提示权限不足,可以修改宿主机挂载目录的权限:

chmod -R 777 /mydata/mysql/

忘记root密码

如果忘记了设置的root密码,可以先停止并删除容器,重新执行启动命令,更换MYSQL_ROOT_PASSWORD参数的值即可,因为数据卷挂载了数据目录,原来的数据不会丢失。

停止和删除容器

如果需要停止或删除mysql容器,可以执行下面的命令:

# 停止容器
docker stop mysql_container
# 启动已停止的容器
docker start mysql_container
# 删除已停止的容器
docker rm mysql_container

注意删除容器前需要先停止容器,且如果之前没有挂载数据卷,删除容器后数据会全部丢失。

dockermysql容器部署数据库安装修改时间:2026-07-06 17:45:11

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。