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

【Linux】手把手教你在CentOS上使用docker 安装MySQL8.0

文章目录

    • 前言
    • 一. docker的安装
      • 1.1 从阿里下载repo镜像
      • 1.2 安装docker
      • 1.3 启动docker并查看版本
    • 二. 使用docker安装MySQL8.0
      • 2.1 拉取MySQL镜像
      • 2.2 创建容器
      • 2.3 操作MySQL容器
      • 2.4 远程登录测试
  • 总结

前言

大家好,又见面了,我是沐风晓月,本文主要讲解如何用docker在centos7系统上安装MySQL8.0,以及如何设置MySQL的远程登录。

文章收录到【容器管理】和【数据库入门到精通专栏】,此专栏是沐风晓月对linux云计算架构实战方向的内容进行的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. docker的安装

1.1 从阿里下载repo镜像

[root@mufenggrow ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

这条命令下载完成后,会把repo包放在/etc/yum.repos.d/下

在这里插入图片描述

使用命令可以查看到我们的repo包,如果没有,说明没有下载成功:

在这里插入图片描述

1.2 安装docker

[root@mufenggrow ~]# yum install docker-ce -y   
## 使用yum安装

安装速度可能稍慢,这时候只需要耐心等待完成即可

1.3 启动docker并查看版本

启动docker

[root@mufenggrow ~]# systemctl  start docker

查看版本

[root@mufenggrow ~]# docker --version
Docker version 20.10.22, build 3a2c30b
[root@mufenggrow ~]# 
[root@mufenggrow ~]# docker version
Client: Docker Engine - CommunityVersion:           20.10.22API version:       1.41Go version:        go1.18.9Git commit:        3a2c30bBuilt:             Thu Dec 15 22:30:24 2022OS/Arch:           linux/amd64Context:           defaultExperimental:      true

二. 使用docker安装MySQL8.0

2.1 拉取MySQL镜像

查看镜像

[root@mufenggrow ~]# docker search mysql --limit 3
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   13884     [OK]       
mariadb   MariaDB Server is a high performing open sou…   5294      [OK]       
percona   Percona Server is a fork of the MySQL relati…   600       [OK]

这里有个percona,Percona是一个开源的数据库管理系统,提供了多个解决方案和服务,尤其是针对MySQL、MongoDB和其他数据库管理系统。

开始拉取:

[root@mufenggrow ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete 
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest查看拉取下来的镜像:[root@mufenggrow ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@mufenggrow ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        latest    3218b38490ce   14 months ago   516MB

2.2 创建容器

[root@mufenggrow ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        latest    3218b38490ce   14 months ago   516MB
[root@mufenggrow ~]# docker run -id --name=mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:latest
c3e44b10b7fac5427bb0ac145b4bf70bd7c09174aa48186457250e491aa17821
[root@mufenggrow ~]# 

备注:

-i:保持 STDIN 开放,即使容器未连接。这个选项允许我们在需要的时候与容器的命令行进行交互。

-d:告诉 Docker 在后台运行容器并将容器 ID 打印到控制台。当我们不想直接与容器交互,只想让它在后台运行时,这个选项非常有用。
–name=mysql8:给容器分配一个名称。在这种情况下,容器将被命名为 “mysql8”。

-p 3306:3306:将主机上的端口 3306 映射到容器内部的端口 3306。这是必需的,以允许连接到容器内运行的 MySQL 数据库。

-e MYSQL_ROOT_PASSWORD=root:在容器内设置一个名为 MYSQL_ROOT_PASSWORD 的环境变量,并将其值设置为 root。这将为容器内运行的 MySQL 数据库设置 root 密码。

mysql:latest:指定要为容器使用的 Docker 镜像的名称。在这种情况下,镜像是 mysql,并且我们正在使用 Docker Hub 上可用的最新版本。

这个命令将创建一个名为 “mysql8” 的新 Docker 容器,使用 “mysql” 镜像,将 root 密码设置为 root,并将 MySQL 端口从容器映射到主机。

翻译成英文,此处可以不看,直接跳转到2.3即可:

docker run: This tells Docker to create and start a new container from a specified image.-i: This specifies that we want to keep STDIN open even if the container is not attached, which allows us to interact with the container's command line later if needed.-d: This tells Docker to run the container in the background and print the container ID to the console. This option is useful when we don't want to interact with the container directly and just want it to run in the background.--name=mysql8: This assigns a name to the container. In this case, the container will be named "mysql8".-p 3306:3306: This maps port 3306 on the host to port 3306 inside the container. This is necessary to allow connections to the MySQL database running inside the container.-e MYSQL_ROOT_PASSWORD=root: This sets an environment variable inside the container called MYSQL_ROOT_PASSWORD with a value of root. This sets the root password for the MySQL database running inside the container.mysql:latest: This specifies the name of the Docker image to use for the container. In this case, the image is mysql and we're using the latest version available on Docker Hub.So, altogether, this command creates a new Docker container called mysql8 using the mysql image, sets the root password to root, and maps the MySQL port from the container to the host.

2.3 操作MySQL容器

[root@mufenggrow ~]# docker exec -it mysql8 /bin/bash
root@c3e44b10b7fa:/# mysql -V
mysql  Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)
root@c3e44b10b7fa:/# 

当容器正在运行时,使用 docker exec 命令可以在容器内部运行额外的命令,其选项和参数如下:

docker exec:告诉 Docker 要在运行的容器内运行额外的命令。

-i:保持 STDIN 开放,允许交互式地输入命令。

-t:分配一个伪终端(pseudo-tty)来启用交互式操作。

mysql8:指定要在其中运行命令的容器的名称或 ID。

/bin/bash:要在容器内运行的命令。在这种情况下,我们要进入容器并打开一个 Bash shell。

因此,这个命令将打开一个交互式的 Bash shell,允许我们在名为 “mysql8” 的运行容器中执行命令。

  • 登录数据库
root@c3e44b10b7fa:/# mysql -uroot -p

在这里插入图片描述

  • 创建远程登录用户
mysql> create user 'admin'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.06 sec)mysql> 

注释:

  • create user:告诉 MySQL 创建一个新用户。

  • ‘admin’@‘%’:指定新用户的用户名和主机名。在这种情况下,用户名为 ‘admin’,‘%’ 表示可以从任何 IP 地址连接。

  • identified with mysql_native_password:指定新用户使用 MySQL 原生密码进行身份验证。

  • by ‘123456’:指定新用户的密码为 ‘123456’。

  • 为远程用户开放权限

mysql> grant all privileges on *.* to admin@'%';
Query OK, 0 rows affected (0.00 sec)flush privileges

2.4 远程登录测试

在这里插入图片描述

总结

以上就是在centos7.6系统上使用docker安装MySQL8.0的全部内容了,感谢观看,欢迎点赞收藏。

我是沐风晓月,文章首发于csdn,你的支持就是我的动力。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

相关文章:

【Linux】手把手教你在CentOS上使用docker 安装MySQL8.0

文章目录前言一. docker的安装1.1 从阿里下载repo镜像1.2 安装docker1.3 启动docker并查看版本二. 使用docker安装MySQL8.02.1 拉取MySQL镜像2.2 创建容器2.3 操作MySQL容器2.4 远程登录测试总结前言 大家好,又见面了,我是沐风晓月,本文主要…...

论文解读:High Dynamic Range and Super-Resolution from Raw Image Bursts

论文解读:High Dynamic Range and Super-Resolution from Raw Image Bursts 今天介绍一篇发表于 2022 年 ACM Tranaction on Graphic 上的文章,这篇文章通过多帧曝光将 HDR 与 SR 放在一起解决,与一般的文章不同的地方在于,这篇文…...

国内的PMP考试通过率高达97%?

自认为是虚高,虽然国人在考试方面的确独树一帜的强,应该也没有这样夸张。 如果自学,大概是50%,如果有老师教,那大概是60%到80%,还是比较高的。 为什么自学那么低?除了自身的自制力的问题&…...

IOC(概念和原理)

文章目录1. IOC容器概念2. IOC底层原理3. IOC(接口)4. IOC操作Bean管理(概念)5. IOC操作Bean管理(基于xml方式)5.1 基于xml创建对象5.2 基于xml方式注入属性5.2.1 DI:依赖注入,就是注…...

操作系统 - 第二章

一、进程的定义、组成、组织、特征 一、进程的定义 从不同的角度,进程有不同的定义 1、进程是程序的一次执行过程; 2、进程是一个程序及其数据在处理机上顺序执行时所发生的活动; 3、进程是具有独立功能的程序在数据集合上运行的过程&#xf…...

进程控制~

进程控制 (创建、终止,等待,程序替换) 进程创建: pid_t fork();父子进程,数据独有,代码共享,各有各的地址 pit_t vfork();父进程阻塞,直到子进程exit退出或者程序替换之…...

HCIP第一个实验

实验要求与实验拓扑子网划分分析将骨干链路看成一个整体,路由器后的2个环回地址先看成一个,最后再进行拆分。计算得出,一共需要划分为6个子网段,取三位。再将每一条网段,按照题目要求进行划分最后完成子网划分。子网划…...

阿里云轻量服务器--Docker--dubbo-admin安装(连接zookeeper nacos)

前言:当使用dubbo 作为微服务的接口调用,在dubbo 注册到zookeeper 或者nacos 中时 可以安装dubbo-admin 作为服务的监测; 1 Dubbo Admin 介绍: Dubbo 框架提供了丰富的服务治理功能如流量控制、动态配置、服务 Mock、服务测试等…...

树莓派Pico W无线WiFi开发板使用方法及MicroPython编程实践

树莓派Pico W开发板是树莓派基金会于2022年6月底推出的一款无线WiFi开发板,它支持C/C和MicroPython编程。本文介绍树莓派Pico W无线WiFi开发板的使用方法及MicroPython编程示例,包括树莓派Pico W开发板板载LED使用及控制编程示例,Pico W开发板…...

Redis学习【11】之分布式系统

文章目录一 数据分区算法1.1 顺序分区1.1.1 轮询分区算法1.1.2 时间片轮转分区算法1.1.3 数据块分区算法1.1.4 业务主题分区算法1.2 哈希分区1.2.1 节点取模分区算法1.2.2 一致性哈希分区算法1.2.3 虚拟槽分区算法二 分布式系统环境搭建与运行2.1 系统搭建2.1.1 系统架构2.1.2 …...

光速c数列的猜想:光猜

光速c数列的猜想:光猜 2023-03-05 10:26:30 猜测:不同的宇宙光速c并不同 分成等级数列c0,c1,c2,...cn... 地球所处宇宙的真空光速c为c1,其中c0或许假设为光在纯水中速度乎 亦有可能仅有六级对应六道。 宇宙外,容器外也,超过光速c1,为光速c2,可看到容器…...

2023年全国最新交安安全员精选真题及答案12

百分百题库提供交安安全员考试试题、交安安全员考试预测题、交安安全员考试真题、交安安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 21.作业场所监督检查是安全生产监督管理的一种重要形式,作业场所监督…...

2023年全国最新安全员精选真题及答案14

百分百题库提供安全员考试试题、建筑安全员考试预测题、建筑安全员ABC考试真题、安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 81.(单选题)正常工作状态下,高处作业吊篮悬挂机构抗…...

让Vue响应Map或Set的变化操作,在vue中响应map和set数据结构,计算属性的用法,计算属性特点

明确一点 vue的响应式系统不支持Map和Set&#xff0c;也就是说&#xff0c;当Map与Set里面的元素变化时Vue追踪不到这些变化&#xff0c;因此无法做出响应。 如下demo其实是不会进行数据相应的 <h1 v-for"(item,index) in mySetAsList" :key"index"&…...

Unable to find a valid cuDNN algorithm to run convolution

Unable to find a valid cuDNN algorithm to run convolution 今天在复习HumanNerf的时候发现了这个报错&#xff0c; import torch print(torch.cuda.is_available()) 使用上面的代码发现GPU是可以用的&#xff0c;可自己的torch版本对应。 后面继续看帖子&#xff0c;总结有…...

Linux 进程:进程退出返回值的获取

目录一、对输出参数status的理解二、获取进程退出返回值1.位运算(1)异常退出码(2)进程返回值2.宏函数我们常使用函数 wait 和 waitpid 来执行进程等待的功能&#xff1a;处理退出的子进程并释放资源&#xff0c;防止子进程变成僵尸进程。而这两个函数都有一个输出参数status&am…...

JavaScript核心高级内容复习1

本节概述 数据类型的分类和判断 基本(值)类型 Number ----- 任意数值 -------- typeofString ----- 任意字符串 ------ typeofBoolean ---- true/false ----- typeofundefined — undefined ----- typeof/null -------- null ---------- 对象(引用)类型 Object ----- typeof…...

2D图像处理:Qt + Opencv使用光度立体法检测Halcon中提供的缺陷图像

文章目录 不需知道光源方向一、光度立体法(后续有时间在查资料研究)1.1 问题1:Slants和Tilts的理解(暂时是理解的)1.2 问题1:Gradient通道数为1,为何像素点对应的值会有两个?1.3 问题2:F(r,c)=(u(r,c),v(r,c)) 关于高斯曲率和平均曲率如何计算的?二、非标定光源实现光…...

怎样用sql去查一个订单表中一个店铺一段时间的营业收入的环比

一&#xff1a;思路 要查询一个订单表中一个店铺一段时间的营业收入的环比&#xff0c;可以按照以下步骤进行操作&#xff1a; 使用SELECT语句选择需要的数据列&#xff0c;如订单日期和订单金额&#xff0c;以及店铺名称列。 使用WHERE语句过滤出指定店铺和时间段的订单数据…...

SpringSecurity: 默认添加的15个Filter是怎么添加进去的?

总的流程分为两部分&#xff0c;一是先用Map把configurer收集起来&#xff0c;然后再把maper中所有的configurer应用到HttpSecurity对象。 其中的map位于AbstractConfiguredSecurityBuilder这个类。 private final LinkedHashMap<Class<? extends SecurityConfigurer&l…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...