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

Mysql数据挂载

MySQL 的数据创建一个数据卷(Volume)。数据卷是 Docker 推荐的持久化数据方式,它由 Docker 自己管理,确保数据不会随着容器的删除而丢失。

sudo docker volume create mysql_data
sudo: 以管理员权限运行命令。docker volume create: 这是创建数据卷的命令。mysql_data: 你为这个数据卷指定的名字,可以自定义。

在这里插入图片描述

第二步:运行 MySQL 容器

sudo docker run -d --name mymysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=your_password \
-v mysql_data:/var/lib/mysql \
--restart always \
mysql:8.0
sudo docker run: 这是创建并启动一个容器的核心命令。-d: Detach(分离)模式。让容器在后台运行,不会占用你的终端。--name mymysql: 为容器指定一个名称,方便你管理它。-p 3306:3306: Publish(发布)端口。左边的 3306: 宿主机(你的服务器)的端口。当外部应用或客户端连接到这个端口时,请求会被转发到容器。右边的 3306: 容器内部的端口,MySQL 服务在容器里默认监听这个端口。-e: Environment(环境变量)。MYSQL_ROOT_PASSWORD=your_password: 设置 MySQL root 用户的密码。
请务必将 your_password 替换为一个安全的、你自己设定的密码。-v: Volume(数据卷)挂载。mysql_data: 这是你第一步创建的数据卷名称。:: 分隔符。/var/lib/mysql: 容器内部的路径。这是 MySQL 镜像默认存储数据库文件的目录。docker 会把数据卷里的内容同步到这个目录。--restart always: 设置容器的重启策略。即使容器因为某些原因停止或服务器重启,docker 都会自动重启这个容器。mysql:8.0: 要使用的镜像名称和版本。

在这里插入图片描述

第三步:验证数据持久化 要验证挂载是否成功,你可以创建一个测试数据库,然后删除容器再重新创建。

进入容器

sudo docker exec -it mymysql bash

在这里插入图片描述
连接到 MySQL

mysql -u root -p

输入密码,然后创建数据库CREATE DATABASE test_db;

在这里插入图片描述

使用SHOW DATABASES;就能查看到刚刚创建的数据库了

在这里插入图片描述

退出 MySQL 和容器

exit
exit

在这里插入图片描述

删除容器

sudo docker stop mymysql
sudo docker rm mymysql

在这里插入图片描述

1,这时,容器和它内部的临时数据都被删除了,但你挂载的数据卷 (mysql_data) 依然存在。
2,用同样的数据卷重建容器:再次运行第二步的 docker run 命令。新的容器会自动加载之前的数据卷。
3,验证数据是否存在:

sudo docker run -d --name mymysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=your_password \
-v mysql_data:/var/lib/mysql \
--restart always \
mysql:8.0
sudo docker pssudo docker exec -it mymysql bash
# 在容器内部,再次尝试连接
mysql -u root -p

在这里插入图片描述

http://www.dtcms.com/a/353455.html

相关文章:

  • Leetcode+Java+动态规划IV
  • electron离线开发环境变量ELECTRON_OVERRIDE_DIST_PATH
  • [MT6835] MT6835开启secureboot导致写入分区提示Security deny for [customer].
  • 【图像算法 - 25】基于深度学习 YOLOv11 与 OpenCV 实现人员跌倒识别系统(人体姿态估计版本)
  • 达梦数据库配置文件-COMPATIBLE_MODE
  • LangChain4j入门一:LangChain4j简介及核心概念
  • 路由基础(一):IP地址规划
  • 基于单片机空调温度控制测温ds18b20系统Proteus仿真(含全部资料)
  • React 组件命名规范:为什么必须大写首字母蛊傲
  • HarmonyOS安全开发实战:一套好用的数据加密方案
  • SQL Server 批量插入脚本
  • 中資券商櫃台系統搭建與開發技術分析
  • AI 大模型 “幻觉” 难题:为何会 “一本正经地说错话”,如何让它更靠谱?
  • 基于Cursor AI IDE的Vue3留言板系统实战:从零搭建到智能优化全流程
  • java数据类型获取长度方式总结
  • 【C++】C++11新特性第一弹(列表初始化、新式声明、范围for和STL中的变化)
  • Flutter 开发技巧 AI 快速构建 json_annotation model 的提示词
  • 使用git上传项目的步骤
  • 煤矸石检测数据集VOC+YOLO格式3090张2类别
  • This method can cause UI unresponsiveness if invoked on the main thread.
  • week5-[字符数组]数和
  • 【技巧】PostgreSQL自动转换类型 int转bool 转int
  • 苍穹外卖项目实战(日记十一)-记录实战教程及问题的解决方法-(day3-3)完善菜品分页查询功能
  • 怎么理解API?
  • 用户体验设计 | 什么是 AX?从 UX 到 AX 的演进
  • 数据结构——算法效率的度量(时间复杂度与空间复杂度)
  • Elasticsearch 启动反复重启排查实录:从“内存不足”到“vm.max\_map\_count 过小”
  • 图表可视化地理趋势-Telerik WPF Chart
  • 智能汽车制造:海康NVR管理平台/工具EasyNVR多品牌NVR管理工具/设备实现无插件视频监控直播方案
  • R语言贝叶斯方法在生态环境领域中的技术应用