欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 如何用Docker部署Mysql

如何用Docker部署Mysql

2025/9/16 5:49:43 来源:https://blog.csdn.net/2303_80864208/article/details/146282439  浏览:    关键词:如何用Docker部署Mysql

1. 安装 Docker

确保已安装 Docker,并启动 Docker 服务。

  • Linux

    bash

    复制

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker

2. 拉取 MySQL 镜像

从 Docker Hub 拉取官方 MySQL 镜像。

bash

复制

docker pull mysql:latest

3. 启动 MySQL 容器

使用 docker run 命令启动 MySQL 容器。

基本命令

bash

复制

docker run -d \--name mysql-container \-e MYSQL_ROOT_PASSWORD=my-secret-pw \-p 3306:3306 \mysql:latest
参数说明
参数说明
-d后台运行容器(detached mode)。
--name mysql-container为容器指定名称(可自定义)。
-e MYSQL_ROOT_PASSWORD设置 MySQL 的 root 用户密码(必须设置)。
-p 3306:3306将容器的 3306 端口映射到主机的 3306 端口(主机端口:容器端口)。
mysql:latest使用的镜像名称及版本(latest 表示最新版本)。

4. 连接到 MySQL

(1) 进入容器内部

bash

复制

docker exec -it mysql-container mysql -u root -p

输入密码(my-secret-pw)后即可进入 MySQL 命令行。

(2) 使用外部客户端

通过主机 IP 和端口(localhost:3306)连接 MySQL,使用工具如:

  • MySQL CLI

    bash

    复制

    mysql -h 127.0.0.1 -P 3306 -u root -p
  • 图形化工具:如 MySQL Workbench、DBeaver 等。


5. 持久化数据

默认情况下,容器停止后数据会丢失。可以通过挂载卷(Volume)将数据持久化到主机。

挂载数据卷

bash

复制

docker run -d \--name mysql-container \-e MYSQL_ROOT_PASSWORD=my-secret-pw \-p 3306:3306 \-v /path/on/host:/var/lib/mysql \mysql:latest
  • /path/on/host:主机上的目录路径(需提前创建)。

  • /var/lib/mysql:容器内 MySQL 数据存储路径。


6. 自定义配置文件

如果需要使用自定义的 MySQL 配置文件(如 my.cnf),可以挂载配置文件到容器。

挂载配置文件

bash

复制

docker run -d \--name mysql-container \-e MYSQL_ROOT_PASSWORD=my-secret-pw \-p 3306:3306 \-v /path/on/host/my.cnf:/etc/mysql/my.cnf \mysql:latest

7. 环境变量配置

MySQL 镜像支持通过环境变量配置数据库。

环境变量说明
MYSQL_ROOT_PASSWORDroot 用户密码(必须设置)。
MYSQL_DATABASE创建指定名称的数据库。
MYSQL_USER创建新用户。
MYSQL_PASSWORD为新用户设置密码。
示例

bash

复制

docker run -d \--name mysql-container \-e MYSQL_ROOT_PASSWORD=my-secret-pw \-e MYSQL_DATABASE=mydb \-e MYSQL_USER=myuser \-e MYSQL_PASSWORD=mypassword \-p 3306:3306 \mysql:latest

8. 常用管理命令

命令说明
docker ps查看运行中的容器。
docker stop mysql-container停止容器。
docker start mysql-container启动已停止的容器。
docker restart mysql-container重启容器。
docker logs mysql-container查看容器日志。
docker rm mysql-container删除容器(需先停止)。
docker rmi mysql:latest删除镜像。

9. 使用 Docker Compose 部署

对于复杂场景(如多容器应用),推荐使用 Docker Compose。

docker-compose.yml 示例

yaml

复制

version: '3.8'
services:mysql:image: mysql:latestcontainer_name: mysql-containerenvironment:MYSQL_ROOT_PASSWORD: my-secret-pwMYSQL_DATABASE: mydbMYSQL_USER: myuserMYSQL_PASSWORD: mypasswordports:- "3306:3306"volumes:- /path/on/host:/var/lib/mysql
启动服务

bash

复制

docker-compose up -d

10. 总结

  • 使用 Docker 部署 MySQL 简单高效,适合开发、测试和生产环境。

  • 通过挂载卷和配置文件,可实现数据持久化和自定义配置。

  • 对于复杂场景,推荐使用 Docker Compose 管理多容器应用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词