当前位置: 首页 > 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更深入的探索,你可以进一步优化数据库性能,实现更复杂的部署架构,为你的应用程序提供强大的数据支持。

http://www.lqws.cn/news/544195.html

相关文章:

  • vue将页面导出pdf,vue导出pdf ,使用html2canvas和jspdf组件
  • Jmeter并发测试和持续性压测
  • 手机屏亮点缺陷修复及相关液晶线路激光修复原理
  • 利用云雾自动化在智能无人水面航行器中实现自主碰撞检测和分类
  • UI前端大数据处理实战技巧:如何有效应对数据延迟与丢失?
  • PILCO: 基于模型的高效策略搜索方法原理解析
  • HarmonyOS 5智能单词应用开发:记忆卡(附:源码
  • JVM 的 Dump分析以及 GC 日志
  • Vulkan模型查看器设计:相机类与三维变换
  • 【Python数据库】Python连接3种数据库方法(SQLite\MySQL\PostgreSQL)
  • 人工智能-基础篇-4-人工智能AI、机器学习ML和深度学习DL之间的关系
  • 人工智能-基础篇-3-什么是深度学习?(DL,卷积神经网络CNN,循环神经网络RNN,Transformer等)
  • fish安装node.js环境
  • 【CMake基础入门教程】第八课:构建并导出可复用的 CMake 库(支持 find_package() 查找)
  • 视觉疲劳检测如何优化智能驾驶的险情管理
  • Java练习题精选16-20
  • C++01背包问题
  • 汇总表支持表头分组,查询组件查询框可以调整高度,DataEase开源BI工具v2.10.11 LTS版本发布
  • ESP32 008 MicroPython Web框架库 Microdot 实现的网络文件服务器
  • A Machine Learning Approach for Non-blind Image Deconvolution论文阅读
  • 金蝶云星空客户端自定义控件插件-WPF实现自定义控件
  • 电磁波是如何传递信息的?
  • 鸿蒙 List 组件解析:从基础列表到高性能界面开发指南
  • 前端 E2E 测试实践:打造稳定 Web 应用的利器!
  • 海外 AI 部署:中国出海企业如何选择稳定、安全的云 GPU 基础设施?
  • 扬州搓澡非遗解码:三把刀文化的“水包皮“
  • 010 【入门】链表入门题目-合并两个有序链表
  • Linux驱动学习day9(异常与中断处理)
  • 华为云Flexus+DeepSeek征文|基于Dify构建故事绘本制作工作流
  • Spark 写入hive表解析