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

docker安装mysql

在安装Mysql之前,我们可以先查看一下我们的镜像,输入命令:

docker images

能发现,镜像里面只有一个Nginx,并没有Mysql

然后我们可以像上一篇安装Nginx一样,安装Mysql镜像。

输入以下命令,安装Mysql镜像:

docker pull mysql:8.0.32

最后看见:"Status: Downloaded newer image for mysql:8.0.32",就代表下载成功。

再查看一下镜像,输入命令:

docker images

能看到,因为我们是指向下载"mysql 8.0.32"版本,所以TAG标签给出的也是8.0.32

如果有的同学,使用的是 "latest"下载,那么TAG标签,也会给出 "latest"。

那么这时候,需要查看安装的镜像具体版本是多少,可以看一下这篇文章:

docker镜像latest具体是哪个版本其实docker也有提供镜像具体版本的获取方式。docker 中 image 镜像管理image 中有一个inspect显示一个或多个图像的详细信息那么组合一下,就是这样:https://blog.csdn.net/longfeng995/article/details/128828905

以上,mysql镜像就安装好了。

好的,镜像安装好后,同学们能发现,直接去启动mysql 是找不到的。

因为这只是镜像,我们还需要创建它的容器,并且启动容器才可以。

我们可以先查看一下容器,输入命令:

docker ps -a

可以看到,只有一个Nginx容器,这个Nginx,是我们之前创建的。

那么需要创建一个mysql容器

输入下面的命令:

docker run --name mysql-test -p 3306:3306 -v D:/docker/mysql/my.cnf:/etc/my.cnf -v D:/docker/mysql/mysqld.log:/var/log/mysqld.log -v D:/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d IMAGE ID

命令中,各项参数解释:

run    在新容器中运行命令

--name    为容器分配一个名称。上面我们分配的名称就叫"mysql-test"

-p    将容器的端口发布到。上面的"3306:3306",就是将我们的3306端口,映射到容器里的3306端口,第一个3306就是我们环境中的,第二个3306是docker容器中的

-v    绑定挂载卷。就拿其中第一个"D:/docker/mysql/conf.d:/etc/mysql/conf.d"说明,前者很容易看出,我的环境是Windows环境,所以是D盘,然后一直到 conf.d 配置目录,中间有一个英文冒号":"就是映射到docker容器中的"conf.d"配置目录,将两者进行绑定,这样我们在"D:/docker/mysql/conf.d"中修改配置,docker容器中的配置文件,也会相对应跟着修改。

-d    在后台运行container并打印容器ID

执行到这里,容器也就成功安装好了。我们来看一下容器的状况。

输入命令查看:

docker ps -a

这样容器就运行成功了。

我们去测试一下,打开"Navicat Premium"

连接后就是这样的了。默认情况是这样的。

但是!!!这是一切正常的情况,如果不正常呢?

在 run 容器的时候,如下图,会出现一系列错误。 

这个意思,其实跟之前 Nginx 的容器是一样的,配置文件错误。

我们想要的是一个文件,但是这里却是文件夹,为什么呢?

既然我们是Windows 下面玩的,来看看"我的电脑"里,我们指定的目录是什么样的:

看到啦,我们的"my.cnf"和"mysqld.log"这两个是目录,而这两个,一个是配置文件,另一个是日志文件,是文件来的喔。

会出现这样,是因为我们上面运行docker时,检测到我们当前目录里没有对应的文件,所以自动生成,但是生成了目录。。。

所以我们需要修改成这样:

因为"my.cnf"是我们的配置文件,所以需要进行配置的哈。默认配置是下面这样:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysqlpid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock!includedir /etc/mysql/conf.d/

将上面的直接copy到"my.cnf"文件里即可。

然后我们来启动容器,命令:

docker start CONTAINER ID

查看容器:

docker ps

状态是已经运行了哈。

然后我们再去"Navicat Premium"连接一下试试呢。

连接成功。。。

撒花~

相关文章:

docker安装mysql

在安装Mysql之前,我们可以先查看一下我们的镜像,输入命令: docker images 能发现,镜像里面只有一个Nginx,并没有Mysql 然后我们可以像上一篇安装Nginx一样,安装Mysql镜像。 输入以下命令,安装…...

Leetcode 回溯详解

回溯法 回溯法有“通用解题法”之称,用它可以系统地搜索问题的所有解。回溯法是一个既带有系统性又带有跳跃性的搜索算法。 在包含问题的所有解的解空间树中,按照深度优先搜索(DFS))的策略,从根结点出发深度探索解空间树。当探索…...

AI_Papers:第一期

2023.02.06—2023.02.12 文摘词云 Top Papers Subjects: cs.CL 1.Multimodal Chain-of-Thought Reasoning in Language Models 标题:语言模型中的多模式思维链推理 作者:Zhuosheng Zhang, Aston Zhang, Mu Li, Hai Zhao, George Karypis, Alex Sm…...

C/C++内存管理

C/C内存管理C/C内存分布C语言中内存管理的方式:malloc/calloc/realloc/freeC内存管理方式内置类型自定义类型operator new 与operator deletenew和delete的实现原理内置类型自定义类型定位new表达式(placement-new)new/delete与malloc/free的区别C/C内存分布 我们先…...

【大数据hive】hive 函数使用详解

一、前言 在任何一种编程语言中,函数可以说是必不可少的,像mysql、oracle中,提供了很多内置函数,或者通过自定义函数的方式进行定制化使用,而hive作为一门数据分析软件,随着版本的不断更新迭代&#xff0c…...

彻底搞懂分布式系统服务注册与发现原理

目录 引入服务注册与发现组件的原因 单体架构 应用与数据分离...

安卓Camera2用ImageReader获取NV21源码分析

以前如何得到Camera预览流回调 可以通过如下方法,得到一路预览回调流 Camera#setPreviewCallbackWithBuffer(Camera.PreviewCallback),可以通过如下方法,设置回调数据的格式,比如 ImageFormat.NV21 Camera.Parameters#setPreview…...

24. 两两交换链表中的节点

文章目录题目描述迭代法递归法参考文献题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入&a…...

linux006之帮助命令

linux帮助命令简介: linux的命令是非常多的,光靠人是记不住的,在工作中一般都会去网上查,这是有外网的情况下,如果项目中不允许访问外网,那么linux的帮助命令就可以派上用场了, linux帮助命令是…...

【C++初阶】十三、模板进阶(总)|非类型模板参数|模板的特化|模板分离编译|模板总结(优缺点)

目录 一、非类型模板参数 二、模板的特化 2.1 模板特化概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 2.3.2 偏特化 三、模板分离编译 四、模板总结(优缺点) 前言:之前模板初阶并没有把 C模板讲完,因为当时没有接触…...

Linux之文本搜索命令

文本搜索命令学习目标能够知道文本搜索使用的命令1. grep命令的使用命令说明grep文本搜索grep命令效果图:2. grep命令选项的使用命令选项说明-i忽略大小写-n显示匹配行号-v显示不包含匹配文本的所有行-i命令选项效果图:-n命令选项效果图:-v命令选项效果图:3. grep命令结合正则表…...

微信小程序Springboot 校园拼车自助服务系统java

系统管理员: 管理员账户管理:在线对管理员的账户信息进行管理,包括对管理员信息的增加修改以及密码的修改等。 站内新闻管理:在后台对站内新闻信息进行发布,并能够对站内新闻信息进行删除修改等。 论坛版块管理&#x…...

【Unity3D 常用插件】Haste插件

一,Haste介绍 Haste插件是一款针对 Unity 3D 的 Everthing软件,可以实现基于名称快速定位对象的功能。Unity 3D 编辑器也自带了搜索功能,但是在 project视图 和 Hierarchy视图 中的对象需要分别查找,不支持模糊匹配。Haste插件就…...

【c++面试问答】全局变量和局部变量的区别

问题 C中的全局变量和局部变量有什么区别? 注:内容全部参考自文末的参考资料 全局变量和局部变量的区别 可以从以下4个角度来区分: 区别全局变量局部变量作用域全局作用域局部作用域内存分配全局变量在静态数据区静态局部变量在静态数据区…...

Java List集合

6 List集合 List系列集合:添加的元素是有序,可重复,有索引 ArrayList: 添加的元素是有序,可重复,有索引LinkedList: 添加的元素是有序,可重复,有索引Vector :是线程安全的&#xff…...

linux服务器挂载硬盘/磁盘

1. 查看机器所挂硬盘个数及分区情况:fdisk -l可以看出来目前/dev/vda 目前有300G可用.内部有两个分区(/dev/vda1,/dev/vda2)。2. 格式化磁盘格式化磁盘命令为【mkfs.磁盘类型格式 目录路径组成】查看磁盘文件格式:df -T格式化磁盘…...

Java 抽象类

文章目录1、抽象方法和抽象类2、抽象类的作用当编写一个类时,常常会为该类定义一些方法,用于描述该类的行为方式,这些方法都有具体的方法体。但在某些情况下,某个基类只是知道其子类应该包含那些方法,但不知道子类是如…...

OpenPPL PPQ量化(5):执行引擎 源码剖析

目录 PPQ Graph Executor(PPQ 执行引擎) PPQ Backend Functions(PPQ 算子库) PPQ Executor(PPQ 执行引擎) Quantize Delegate (量化代理函数) Usage (用法示例) Hook (执行钩子函数) 前面四篇博客其实就讲了下面两行代码: ppq_ir load_onnx_graph(onnx_impor…...

【脚本开发】运维人员必备技能图谱

脚本(Script)语言是一种动态的、解释性的语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本语言具有小巧便捷、快速开发的特点;常见的脚本语言有Windows批处理脚本bat、Linux脚本语言shell以及python、…...

N字形变换-力扣6-java

一、题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读…...

概论_第5章_中心极限定理1__定理2(棣莫弗-拉普拉斯中心极限定理)

在概率论中, 把有关论证随机变量和的极限分布为正态分布的一类定理称为中心极限定理称为中心极限定理称为中心极限定理。 本文介绍独立同分布序列的中心极限定理。 一 独立同分布序列的中心极限定理 定理1 设X1,X2,...Xn,...X_1, X_2, ...X_n,...X1​,X2​,...Xn…...

详细解读503服务不可用的错误以及如何解决503服务不可用

文章目录1. 问题引言2. 什么是503服务不可用错误3 尝试解决问题3.1 重新加载页面3.2 检查该站点是否为其他人关闭3.3 重新启动设备3.3 联系网站4. 其他解决问的方法1. 问题引言 你以前遇到过错误503吗? 例如,您可能会收到消息,如503服务不可…...

【前端vue2面试题】2023前端最新版vue模块,高频17问(上)

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:博主收集的关于vue2面试题(上) 目录 vue2面试题 1、$route 和 $router的区别 2、一个…...

数据库(三):多版本并发控制MVCC,行锁的衍生版本,记录锁,间隙锁, Next-Key锁(邻键锁)

文章目录前言一、MVCC以及MVCC的缺点1.1 MVCC可以为数据库解决什么问题1.2 MVCC的基本思想1.3 版本号1.4 Undo日志1.5 ReadView1.6 快照读和当前读1.6.1 快照读1.6.2 当前读二、记录锁三、间隙锁四、邻键锁总结前言 一、MVCC以及MVCC的缺点 MVCC,即多版本并发控制…...

c# 自定义隐式转换与运算符重载

用户定义的显式和隐式转换运算符 参考代码 用户定义的显式和隐式转换运算符 - 提供对不同类型的转换 | Microsoft Learn 代码例程 using System;public readonly struct Digit {private readonly byte digit;public Digit(byte digit){if (digit > 9){throw new Argumen…...

【MyBatis】| MyBatis的逆向⼯程

目录 一:MyBatis的逆向⼯程 1. 逆向⼯程配置与⽣成 2. 测试生成的逆向⼯程 一:MyBatis的逆向⼯程 (1)所谓的逆向⼯程是:根据数据库表逆向⽣成Java的pojo类,SqlMapper.xml⽂件,以及Mapper接⼝…...

Python|每日一练|哈希表|罗马数字|图算法|圆周率|单选记录:给定数列和|罗马数字转整数|计算圆周率

1、要求编写函数fn(a,n) 求aaaaaa⋯aa⋯aa(n个a)之和,fn须返回的是数列和(算法初阶) 要求编写函数fn(a,n) 求aaaaaa⋯aa⋯aa(n个a)之和,fn须返回的是数列和。 从控制台输入正整数a和n的值(两…...

分布式之分布式事务V2

写在前面 本文一起来看下分布式环境下的事务问题,即我们经常听到的分布式事务问题。想要解决分布式事务问题,需要使用到分布式事务相关的协议,主要有2PC即两阶段提交协议,TCC(try-confirm-cancel)&#xf…...

算法笔记(二)—— 认识N(logN)的排序算法

递归行为的时间复杂度估算 整个递归过程是一棵多叉树,递归过程相当于利用栈做了一次后序遍历。 对于master公式,T(N)表明母问题的规模为N,T(N/b)表明每次子问题的规模,a为调用次数,加号后面表明,除去调用之…...

最长湍流子数组——滚动窗口,双指针,暴力求解

978. 最长湍流子数组难度中等216收藏分享切换为英文接收动态反馈给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。更正式地来说,当 arr 的子数组 A[i]…...

精彩的网格布局网站/百度推广北京总部电话

1.定义程序中频繁使用的常量#include <iostream> using namespace std; const double PI3.1415926; int main() { cout<<"圆的面积是:"<<PI*3*3<<endl; cout<<"周长是:"<<2*PI*3<<endl; return 0; }和define定义…...

乐山网站建设/百度竞价平台官网

1&#xff0c;导入原Eclipse Web项目 由于使用 PowerDesign连接MySql时只能用32位 Jdk&#xff0c;原Eclipse项目依赖于64位Jdk&#xff0c;导致在eclipse打不开工程&#xff0c;把工程导入IDEA后&#xff0c;选择Tomcat Server-Local&#xff0c;点击上面""菜单&…...

巴彦淖尔市 网站建设/百度宁波运营中心

2017跟着小虎玩着去软考--项目管理师系列 趣味好玩解析2015年下半年信息系统项目管理师上午试题21-25题【小虎梦想】小虎有一个梦想&#xff0c;希望像专业的计算机考试&#xff0c;如全国计算机软件技术与软件专业资格&#xff08;水平&#xff09;考试&#xff08;简称软考&a…...

电商系统功能模块/山西搜索引擎优化

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL&#xff0c;需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除&#xff0c;所以在安装前我们需要先去官网下载 Yum 资源包&#xff0c;下载地址为&#xff1a;https://dev.mysql.com/downloads/repo/yum/…...

建设银行鄂州分行官方网站/模板免费下载网站

基于netty的聊天室 更多干货 分布式实战&#xff08;干货&#xff09;spring cloud 实战&#xff08;干货&#xff09;mybatis 实战&#xff08;干货&#xff09;spring boot 实战&#xff08;干货&#xff09;React 入门实战&#xff08;干货&#xff09;构建中小型互联网企业…...

网站开发 自动生成缩略图/泰安百度推广代理商

JVM怎么判断对象是否存活 引用计数算法 引用计数算法比较简单&#xff0c;对每个对象保存一个整型的引用计算器属性。用于记录对象背应用的情况。对于一个对象A&#xff0c;只要有任何一个对象引用了A&#xff0c;则A的引用计数器就加1&#xff1b;当引用失效时&#xff0c;引用…...