MyLife - Docker安装MySQL

news2024/11/18 17:52:18

Docker安装MySQL


个人觉得像数据库之类的基础设施在线上环境直接物理机安装使用可能会好些。但是在开发测试环境用docker容器还是比较方便的。这里学习下docker安装mysql使用。

1. MySQL 镜像库地址
MySQL 镜像库地址:https://hub.docker.com/_/mysql/tags
这里是官方镜像库,可以在这挑选需要的版本的mysql镜像。

2. 拉取 MySQL 镜像
拉取最新版本的镜像

 docker pull mysql:latest

在这里插入图片描述
3. 运行容器
运行为容器

 docker run -d --name mylife.mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mysql

参数说明:

  • -d 后台运行容器
  • –name 为容器指定一个名称
  • -p 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -e 设置环境变量(MYSQL_ROOT_PASSWORD=Abc123456.:设置 MySQL 服务 root 用户的密码)
    最后的mysql为使用的镜像
    在这里插入图片描述
    因为官方这MySQL镜像数据默认放在 /var/lib/mysql 目录下,且这目录是挂载在宿主机上的,这会导致我们用这容器重新生成的镜像丢失数据。所以这里要改下MySQL配置文件,把数据放到别的目录下。
  • 进入容器内执行命令
 docker exec -it mylife.mysql bash

在这里插入图片描述

  • 修改配置文件
    修改配置文件my.cnf,把数据目录改为 /data/mysql
    修改前配置文件内容:
    在这里插入图片描述
    创建数据目录并修改配置my.cnf
 mkdir -p data/mysql
 sed -i "s#datadir.*/var/lib/mysql#datadir=/data/mysql#g" /etc/mysql/my.cnf

在这里插入图片描述
修改后配置文件内容:
在这里插入图片描述

  • 重启容器
 docker restart mylife.mysql

在这里插入图片描述

4. 连接数据库
容器运行成功后就可以连接该数据库了,这里尝试用Navicat连接。
在这里插入图片描述
在这里插入图片描述
5. 创建库
在容器上的MySQL创建需要的库和表。
在这里插入图片描述
6. 创建含库和表的镜像
用创建好库和表的容器创建镜像

 docker commit -a "tdb" -m "mylife database v1" mylife.mysql  mylife.mysql:v1

参数说明:

  • -a 提交的镜像作者
  • -m 提交时的说明文字
  • mylife.mysql 容器名称
  • mylife.mysql:v1镜像名及tag
    在这里插入图片描述

7. 开发环境数据库容器
用刚创建的数据库镜像运行一个开发环境的数据库容器

 docker run -d --name mylife.dev.mysql -p 30001:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mylife.mysql:v1

在这里插入图片描述

连接开发环境数据库,发现带有库和表
在这里插入图片描述
8. demo环境数据库容器
demo环境在云上的linux上,可以把镜像上传到hub上,再在linux上下载该镜像,但是我这死活上传失败,只好用导出再导入的方法。

  • 导出镜像
    把镜像[mylife.mysql:v1]导出
 docker save -o F:\\study\\docker\\images\\mylife.mysql.v1.tar mylife.mysql:v1

在这里插入图片描述

  • 上传到Linux,再载入该镜像
 docker load -q -i /usr/docker/images/mylife.mysql.v1.tar

在这里插入图片描述

  • 运行容器
 docker run -d --name mylife.dev.mysql -p 30101:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mylife.mysql:v1

在这里插入图片描述
连接开发环境数据库,发现带有库和表
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HP打印机一点击打印就出现Windows资源管理器已停止工作问题解决

本次处理的打印机型号是HP Officejet 200 移动便携式打印机,不过其他型号如果出现类似现象,解决方法应该是一致的。 在弹出Windows资源管理器已停止工作的报错提示框后,点击左下角的详细信息,看到的内容显示是KernelBase.dll崩溃…

10月10日星期二今日早报简报微语报早读

10月10日,星期二,早报简报微语早读分享。 1、全国铁路国庆黄金周运输发送旅客1.95亿人次; 2、贵州公安:三名抢劫杀人嫌犯潜逃至缅北电诈窝点,全部落网; 3、四川:游客擅自进入未开发开放游览活动…

Redis(六) 内存策略

文章目录 Redis内存回收一、过期策略Redis是如何知道一个key是否过期的?是不是TTL到期就立即删除呢? 二、淘汰策略 Redis内存回收 一、过期策略 Redis是如何知道一个key是否过期的? 利用两个Dict分别记录key-value对及key-ttl对 是不是TTL到…

Elasticsearch:什么是检索增强生成 - RAG?

在人工智能的动态格局中,检索增强生成(Retrieval Augmented Generation - RAG)已经成为游戏规则的改变者,彻底改变了我们生成文本和与文本交互的方式。 RAG 使用大型语言模型 (LLMs) 等工具将信息检索的能力与自然语言生成无缝结合…

LLVM(5)ORC实例分析

ORC实例总结 总结 因为API茫茫多,逻辑上的一些概念需要搞清,编码时会容易很多。JIT的运行实体使用LLVMOrcCreateLLJIT可以创建出来,逻辑上的JIT实例。JIT实例需要加入运行库(依赖库)和用户定义的context(…

HDMI协议介绍(五)--Audio

基础知识 I2S(inter-IC sound bus)飞利浦公司制定的标准,既规定了硬件接口规范,也规定了数字音频数据格式。 硬件接口规范 I2S接口有3个主要信号: 时钟信号 Serial Clock 串行时钟SCK,也叫位时钟(BCLK)&…

autohotkey 记录

https://www.autohotkey.com/ 记录 https://www.autohotkey.com/docs/v2/ https://www.autohotkey.com/docs/v2/lib/Send.htm https://www.autohotkey.com/boards/ #z::Run "https://www.autohotkey.com" ; WinZ #n::Run "mspaint" ; Winn^!n:: ; C…

【香橙派-OpenCV-Torch-dlib】TF损坏变成RAW格式解决方案及python环境配置

前言 本文将介绍在香橙派(Orange Pi)开发板上进行软件配置和环境搭建的详细步骤,以便运行Python应用程序。这涵盖了以下主要内容: 获取所需软件:提供了香橙派操作系统和balenaEtcher工具的下载链接,以确保…

Lumos-az/MiniSQL阅读笔记

文章目录 处理SQL创建创建表RecordManager部分CatalogManager部分 创建索引IndexManager::createIndex部分API::createNewIndex部分CatalogManager::createIndex部分 插入删除删除表删除记录? 查询B树gif演示B树增删:插入:删除: 项目源码&am…

Python字典全解析:从基础到高级应用

更多资料获取 📚 个人网站:涛哥聊Python 字典是一种强大而多才多艺的数据类型,它以键-值对的形式储存信息,让我们能够以惊人的效率处理和管理数据。 字典能够将键和值关联在一起,使得数据的存储和检索变得非常高效。…

信息系统项目管理师第四版学习笔记——项目整合管理

管理基础 项目整合管理由项目经理负责,项目经理负责整合所有其他知识领域的成果,并掌握项目总体情况。项目整合管理的责任不能被授权或转移,项目经理必须对整个项目承担最终责任。 项目管理过程中,会使用并产生两大类文件&#…

git常用命令和开发常用场景

git命令 git init 创建一个空的git仓库或者重新初始化已有仓库 git clone [url] 将存储库克隆到新目录 git add 添加内容到索引 git status 显示工作树状态 git commit -m "" 记录仓库的修改 git reset 重置当前HEAD到指定的状态 git reset –-soft:…

vmware虚拟机启动、使用ubuntu问题

安装Ubuntu时,无法连接虚拟设备sata0:1,因为主机上没有相应的设备 安装Ubuntu时,无法连接虚拟设备sata0:1,因为主机上没有相应的设备_无法连接虚拟设备 sata0:1,因为主机上没有相应的设备-CSDN博客 无法连接虚拟设备 sata0:1,因…

AI视频监控平台EasyCVR接入海康SDK出现异常,该如何解决?

安防监控系统/视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。 有用户反馈,在使用视频监控系统EasyCVR接入…

Android NFC开发详解:NFC读卡实例解析及总结

文章目录 前言一、什么是NFC?二、基础知识1.什么是NDEF?2.NFC技术的操作模式3.标签的技术类型4.实现方式的分类5.流程三、获取标签内容1.检查环境2.获取NFC标签2.1 Manifest中注册的方式获取Tag2.1 前台Activity捕获的方式获取Tag四、解析标签数据1. M1…

笔记37:全卷积网络FCN结构详解

本地笔记:D:\work_file\DeepLearning_Learning\03_个人笔记\FCN学习 a a a a a a a a a a a a a a a a a a a a a a a

五眼联盟指的是什么?台湾社会中的“特助”指的是什么?计算机组成原理人工智能

目录 五眼联盟指的是什么? 台湾社会中的“特助”指的是什么? 计算机组成原理 人工智能 落土八分命 「一部悲劇用喜劇呈現,那才是真正的悲劇。」 那个声音到底是什么呢? 被困在了大佛中 五眼联盟指的是什么? 五…

该选择什么行情时做上证50ETF期权?

期权交易概述 上证50ETF期权是基于上海证券交易所上证50ETF基金而衍生的金融衍生品,作为金融市场的重要工具,为投资者提供了丰富多样的交易机会,下文介绍该选择什么行情时做上证50ETF期权?本文来自:期权酱 随着全球经济的不断发展和资本市场的…

2024年研究生网上报名各类问题类似参考解答系列之—社保类疑问

研究生网上报名的流程看似简单,但由于考生众多,情况各异,也会出现各类在政策中并不能直接找到答案的问题。杭州达立易考教育通过2023届研究生网报过程中考生所反映的一些问题以及官方给予的参考答案和解决思路,帮助大家做个梳理&a…

css 写带三角形的对话框,空心的三角形边框

首先,我们要会先实现一个小三角形; 思路:利用元素的 border 属性,将其三个方向的 border-color 值设为透明色(或者和其父元素的背景色一致,形成视觉差,俗称障眼法),剩下…