当前位置: 首页 > news >正文

概述-2-MySQL安装及启动-1-Dcoker安装MySQL

Docker安装MySQL

1 在Ubuntu Server 22.04 LTS上使用Docker部署MySQL

1.1 引言

随着容器技术的兴起,Docker已成为开发和部署应用程序的热门选择。它允许开发者在一个轻量级、可移植的容器中运行应用,确保了环境一致性,简化了部署流程。本文将指导你如何在Ubuntu Server 22.04 LTS系统上,利用Docker部署MySQL数据库,为你的应用提供稳定的数据存储服务。

1.2 Docker中部署MySQL

  1. 拉取MySQL镜像:

    Docker Hub上有官方维护的MySQL镜像,你可以通过以下命令获取最新版本的MySQL镜像:

    docker pull mysql:latest
    

    如果需要特定版本,可以指定版本号,例如 mysql:8.0

  2. 运行MySQL容器:

    在运行容器之前,你需要准备一些环境变量来配置MySQL。以下命令创建一个MySQL容器,并设置了一些基本配置:

    docker run  -itd \--name mysql-server \--memory 1G \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=mysecretpassword \mysql

    这里做了几件事:

    • --name mysql-server 指定了容器名称。
    • -e 参数用于设置环境变量,包括MySQL的root用户密码、默认数据库名、新用户及其密码。
    • -d 表示以后台模式运行容器。
  3. 验证MySQL容器运行状态:

    可以通过以下命令检查容器是否正在运行:

    docker ps
    

    此命令会列出所有正在运行的容器,你应该能看到名为mysql-server的容器。

列出正在运行的容器

  1. 连接到MySQL:

    容器启动并运行后,可以通过Docker的端口映射功能从宿主机访问MySQL服务。如果你在启动容器时没有指定端口映射(如 -p 3306:3306),则需要进入容器内部来连接MySQL:

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

    然后输入你在创建容器时设置的MYSQL_ROOT_PASSWORD

1.3 安全与最佳实践

  • 数据持久化:生产环境中,建议通过挂载卷(-v /host/path:/var/lib/mysql)来持久化MySQL数据,防止容器重启或删除导致数据丢失。
  • 网络隔离:考虑使用Docker网络功能为MySQL容器配置独立的网络,增强安全性。
  • 安全配置:定期更新MySQL镜像,遵循最小权限原则配置用户权限,考虑使用SSL加密客户端连接等。

1.4 结语

至此,你已经在Ubuntu Server 22.0.04 LTS上成功利用Docker部署了一个MySQL数据库。通过上述步骤,你不仅掌握了基本的容器启动和配置方法,还了解了如何确保数据的安全性和持久性。随着对Docker和MySQL更深入的探索,你可以进一步优化数据库性能,实现更复杂的部署架构,为你的应用程序提供强大的数据支持。

相关文章:

  • 那些不应该的优化
  • Hall 定理 学习笔记
  • 【Redis】解码Redis中的list类型,基本命令,内部编码方式以及适用的场景
  • Ai大模型 - ocr图像识别形成结构化数据(pp-ocr+nlp结合) 以及训练微调实现方案(初稿)
  • Prompt Engineering For LLMs
  • 【Linux基础知识系列】第三十二篇 - Shell 历史与命令编辑
  • eSearch识屏 · 搜索 v15.0.1 官方版
  • 使用 Vcpkg 安装 Qt 时的常见问题与解决方法
  • 【论文阅读】Video-R1: Reinforcing Video Reasoning in MLLMs
  • 安卓端某音乐类 APP 逆向分享(四)NMDI参数分析
  • 智能体记忆原理-prompt设计
  • swagger访问不了的解决方案 http://localhost:8080/swagger-ui/index.html
  • .NetCore+Vue快速生产框架开发详细方案
  • [ linux-系统 ] 磁盘与文件系统
  • 应收账款和销售收入有什么关系?
  • 高斯混合模型GMMK均值(十三-1)——K均值是高斯混合模型的特例
  • AAB包体安装
  • FrozenBatchNorm2d 详解
  • Java 大视界 -- Java 大数据在智能教育学习社群知识共享与协同学习促进中的应用(326)
  • spring ai入门实例