云部署: 轻松部署!Docker带你飞,快速安装MySQL

简介

通过在Docker中配置MySQL,可以实现更好的隔离性和灵活性,提供了可移植性和重现性,并简化了MySQL实例的管理。这使得开发人员和运维人员能够更加轻松地开发、部署和管理应用程序,提高了开发和部署的效率和可靠性 总的来说,好处就是:

  • 更好的隔离性和安全性,将MySQL与其他组件隔离开,确保系统的稳定性。
  • 可移植性,将整个应用程序及其依赖项打包为一个独立的Docker镜像,轻松在不同环境中部署和运行。
  • 重现性,确保开发和生产环境的一致性,避免由于环境差异导致的潜在问题。
  • 灵活性,简化MySQL实例的管理,并支持水平和垂直扩展。 通过在Docker中配置MySQL,可以提高开发和部署效率,同时提供更好的可靠性。

配置方法一:命令安装

在Docker中配置MySQL是一种常见的开发和部署应用的方式。以下是如何在Docker中配置MySQL的步骤。

首先,确保你的系统已经安装了Docker。如果还没有安装,可以访问Docker的官方网站下载和安装。

配置MySQL

1. 拉取MySQL镜像

在Docker中,我们可以直接从Docker Hub上拉取官方的MySQL镜像。运行以下命令:

bash 复制代码
docker pull mysql:5.7

这将会下载MySQL 5.7版本的镜像。

2. 运行MySQL容器

下载完MySQL镜像后,我们可以创建并运行一个MySQL容器。在运行容器时,我们需要设置一些环境变量,比如 MYSQL_ROOT_PASSWORD,这是root用户的密码。

bash 复制代码
# docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest


docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql:latest

这将创建一个名为some-mysql的Docker容器,并在后台运行MySQL服务。你需要将"your_password"替换为你所需的密码。此外,"-p 3306:3306"指定了容器和主机之间的端口映射关系,以便通过主机上的3306端口访问MySQL

3. 连接到MySQL容器

我们可以使用MySQL客户端工具连接到刚才创建的MySQL容器。首先,找到MySQL容器的IP地址:

bash 复制代码
docker inspect some-mysql | grep IPAddress

然后,使用MySQL客户端工具连接到MySQL容器:

bash 复制代码
mysql -h <MySQL-Container-IP> -u root -p

输入root用户的密码,就可以成功连接到MySQL容器了。

配置方法二:docker-compose安装

创建docker-compose

首先,我们在项目根目录下创建一个 docker-compose.yml 文件,并粘贴如下内容:

yaml 复制代码
version: '3.7'
services:
  mysql_db_container:
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword  # root账号密码
    ports:
      - 3306:3306
    volumes:
      - mysql_db_data_container:/var/lib/mysql
  adminer_container:
    image: adminer:latest
    environment:
      ADMINER_DEFAULT_SERVER: mysql_db_container
    ports:
      - 8080:8080

volumes:
  mysql_db_data_container:

拉取镜像

在命令行输入如下命令:

复制代码
docker compose up -d

执行结束,效果如下:

再看一下 Docker Desktop 的运行状态

总结

好了,关于数据库开发环境的准备工作就给大家讲到这里。有了 docker 的加持,这些工具的安装配置跟之前比起来变得非常简单。如果大家有更偏爱的管理工具,例如 Navicat 等等,可单独安装客户端。

相关推荐
LanceJiang3 分钟前
设计模式在前端的简易实现与作用
前端·设计模式
代码煮茶9 分钟前
Vue3 虚拟列表实战 | 解决长列表性能问题(十万条数据流畅渲染,附原理)
前端·javascript·vue.js
雨季mo浅忆11 分钟前
前端如何实现长连接之使用WebSocket长连接
前端·websocket
殷紫川12 分钟前
InnoDB 索引性能天花板:聚簇 & 二级索引存储本质拆解,覆盖索引零回表优化全攻略
mysql
We་ct15 分钟前
LeetCode 201. 数字范围按位与:位运算高效解题指南
开发语言·前端·javascript·算法·leetcode·typescript
殷紫川18 分钟前
MySQL IN 里塞 10000 个值?90% 开发者都踩过的坑,底层原理 + 全场景解决方案一次讲透
mysql
Patrick_Wilson23 分钟前
你的 MR 超过 500 行了吗?——大型代码合并请求拆分实战指南
前端·代码规范·前端工程化
神三元29 分钟前
大模型工具调用输出的 JSON,凭什么能保证不出错?
前端·ai编程
iOS妖狐小北31 分钟前
mysql中主键索引和联合索引的原理解析
数据库·mysql
得物技术32 分钟前
基于 Cursor Agent 的流水线 AI CR 实践|得物技术
前端·程序员·全栈