Docker 安装 MySQL | 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习 Docker 安装 MySQL

开发者学堂课程【Docker 快速入门:Docker 安装 MySQL】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/616/detail/9414


Docker 安装 MySQL

Docker 常用安装

上一轮我们通过自己手写了一个 DockerFile, 这个是深入的基本功但是日常生活中常用的镜像都是已经做好的。

image.png

接下来我们来看,怎么从阿里云上面拉取对应的镜像然后进行本地的安装在Docker 里面运行起来。

以前有一个机器上要装 redis、mysql、tomcat 等可能需要十多种软件,但是现在装一个 Docker,第二个阿里云上拉对应的镜像 Docker 上一配就行了。

以前是连本机上的数据库,现在是连 Docker 上的数据库,到后面就可以直接连阿里云,换句话说你的 redis 可能就在阿里云上面,不用再去装本地的

我们以安装复杂的 mysql 和 redis 为例,告诉大家如何在本地将常用的容器装过来

image.png

首先,总体步骤搜、拉、看、启动、停止、删除

Tomcat,查看是否有拉取到 tomcat,docker images

image.png

运行 run-it-p,p 指定端口、P 随机分配

首先 docker hub 上面去查找 SQL

输入 docker images

image.png

如图,还没有 MySQL 镜像,输入docker images mysql,还是没有。再查docker search mysql

image.png

这时 logs 如上图,如果想拉最新版本直接 docker pull mysql

但是,在从 docker hub (阿里云加速器)拉取 mysql 镜像到本地标签为 5.6 中和我们想象的不太一样,是 5.6 版本,如果说想拉一个 5.7,所以要改标签 id。

这时 docker pull mysql 就是最新版这时拉的是 5.6 版

image.png

镜像名+冒号+标签,是它的完整

image.png

输入 docker images, 出来的就是 mysql5.6,有镜像了以后叫 run

1.使用 mysql15.6 镜像创建容器(也叫运行镜像)

使用 mysql 镜像,

image.png

复制,又写了长长的命令。

image.png

上一轮讲了 tomcat9 的,这一轮来看 mysql 的

image.png

命令说明如上图所示,docker run-p 注意 mysql 的端口是 3306,这里故意写成12345 是为了让大家在体验一下端口艺设,--name 别名 mysql 因为全名叫mysql5.6,-d 是后台运行的意思,mysql 需要一个界面肯定是后台运行,中间的三个 -v 是 mysql 的配置、日志、date 存在哪儿。

言下之意,比如我们新建一个库就在 docker 容器的 /var/lib/mysql 里面,-e MYSQL_ROOT_PASSWORD=123456 是 mysql 的配置环境 ROOT 密码 123456。然后来执行 docker ps, 先停一个 docker rm-f myt9

image.png

已经停了以后,直接跑如图所示这个,如果以前运行过一个重名的 mysql 这时在历史记录有了,如果不想重名那么 docker rm-f 42db9357a9f9 删掉这个东西

image.png

成功后如图,这时 docker ps 就是运行了这个容器,镜像是 5.6 容器是ba194da55684。开始交互运行,复制 MySQL 运行成功后的容器 ID /bin/bash

image.png

粘贴后如图,这时它不支持 ps-ef, 但是看到 ba194da55684 就会明白进入到了容器里面,再输入 mysql-uroot-p,就是进入到了 docker 这个容器里面,然后输入 shut database,

image.png

如图,然后 create datebase db01,use db01,create table t_book(id int not noll primary key,bookName varchar(20))回车搞定,show tables 数据库下面就有 t_book 这张表,那么 insert into t_book values(1,java) 这时假设这本书就叫 java;,这时 select*from t_book 就会有一个 1 java.

2.外部 Win10 也来连接运行在 docker 上的 mysql 服务

就是宿主机也来连接 docker 上的 mysql 服务,这时看看我们的终端 ip,if conpage, 现在是 202.135

注意可以新建一个连接,例如叫 mysql_docker,就是 docker 上的 mysql, 那么202.135,root,12345,端口改成 12345,然后测试连接,确定连接

image.png

这时,135 上面,表、t_book 打开

如图,保存。刷新一查,在外面插了 2 号,在 docker 里面没有任何问题,这时就完成了 docker 上面简单的 mysql,并用 web 的机器连接

3.数据备份小测试(可以不做)

意思是通过 docker 操作 docker 上面的 mysql 来进行数据的备份

image.png

复制,mysql 活着,这时 mysql 的容器命令,首先标点处没有任何问题,言下之意用 docker 执行这个容器,它装了一个 mysql 然后执行 mysqldump 的命令。所有数据库按照用户名和密码,这个密码 12345 在窒息的时候可能不安全,然后导出到宿主机的

zzyyuse/all-database.sql 路径下面形成这个文件

然后执行,cd/zzyyuse/ll, 有一个 all-database.sql.

image.png

彻底把数据库备份出来了,这时在别的地方执行数据全部 OK。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
13 4
|
8天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
29 3
|
8天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
17 1
|
9天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
17 2
|
10天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
11天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
50 2
|
11天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
46 2
|
13天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
14天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
25 3
下一篇
无影云桌面