MySQL详细安装教程
一、从MySQL官网安装



可以翻译成中文看起来就舒服多了

下载并打开安装包,能看到版本是8.0.36,双击运行或者右键选择打开,打开后是一个安装向导,这个安装向导会先帮我们安装一个 mysql-installer 的程序,再通过该程序安装MySQL

如果之前已经在同一台计算机上安装过MySQL,安装程序可能会检测到现有的配置并自动跳过某些步骤。此外,安装程序可能会对系统进行环境检测,并根据检测结果自动配置一些设置。如果系统已经满足要求,安装程序可能会跳过相关的步骤。所以,本次安装版本是8.0.36,但是我将以8.0.31为例并以截图的方式分享安装步骤,因为我之前安装的是8.0.31版本,两个版本的的安装步骤会有一些迭代差别,根据步骤结合自己安装过程中显示的页面对应即可。(第一次安装MySQL9.0.36版本的宝宝,以下步骤会因为版本迭代的问题,会跳过很多步骤,忽略即可)

8.0.36版本没有以下步骤,说明新版本已经综合了,不理会就好,之后的步骤中同理

下一步后,可能有以下情况:





序号2可 √ 可不 √,毕竟Windows的防火墙不咋好用,序号3和序号4可根据自身情况选择。

序号1、2、3、4解释:
1. 这里选择DCP/IP,也就是通过网络连接MySQL,MySQL启动时是一个网络服务。
TCP/IP协议栈是互联网通信的基础,它定义了数据如何在网络中传输和交换。它支持各种类型的应用层协议,例如HTTP、FTP、SMTP等,这些协议构成了互联网上各种应用的基础。
2. Windows的防火墙就那样,所以勾不勾选看宝宝们心意
3 \ 4. 本机连MySQL,可以用命名管道或者共享内存都可以
Named Pipe通常用于处理大量数据的通信,而Shared Memory则用于需要高速数据传输的进程间通信。Named Pipe通过读写文件来进行通信,而Shared Memory直接共享内存。因此,在使用Named Pipe时需要考虑文件I/O的开销,而在使用共享内存时需要考虑数据同步的问题。

法一(怎么关掉MySQL服务?):Win + R 打开“运行”对话框,输入services.msc,点击确定或直接Enter键,进入"服务"管理器窗口,找到MySQL,会显示“正在运行”,右键“停止”(记住这个方法,MySQL安装成功后,手动启动时会用到此方法)。端口问题选其一解决就好。

MySQL推荐使用最新的数据库和相关客户端,MySQL8换了加密插件,所以如果选第一种方式,很可能导致你的navicat等客户端连不上MySQL8

MySQL的超级管理员叫 root,初次设置密码,建议先使用弱口令就好,当然如果记性好的也可以设置强口令(苹果系统就需要设置强口令:包含大小写、数字、特殊字符,且长度大于8位)

对于MySQL是否开机自启,建议手动启动,需要时Win + R 打开“运行”对话框,输入services.msc,点击确定或直接Enter键,进入"服务"管理器窗口,找到MySQL,右键“启动”就好。

授权对路劲的访问权限

MySQL服务器的日志配置(MySQL运行时会产生各种各样的日志):
1、错误日志(Error Log)配置:默认使用"脑用户名.err",不要出现中文或特殊字符(下划线、数字、空格什么的)就用纯英文
2、通用日志(General Log)配置:用通用日志后,MySQL会将每个客户端连接的建立、执行的SQL语句以及断开连接的事件都记录下来,包括一些连接信息和执行的具体SQL语句
3、慢查询日志(Slow Query Log)配置:慢查询日志是MySQL提供的一个特性,用于记录执行时间超过一定阈值的查询语句。当开启慢查询日志后,MySQL会将执行时间超过设定阈值的查询语句写入日志文件中,在某些场景下,特别是涉及隐私数据或者敏感信息的情况下,开启慢查询日志可能存在信息泄露的风险。
4、二进制日志(Binary Log)配置:对数据的读写(删数据、改数据、插入数据)都会记录日志,如果对数据做了误删除、误更新,可以通过二进制日志恢复数据





如果是Starting the server 安装失败,可能是之前使用过MySQL之后卸载什么的,没有删除干净。可以尝试按照以下步骤操作:
1、停在此页面,不用叉掉重装(叉掉的话,也没关系,跟以下方法一样就好)
2、计算机(此电脑) > 右键 > 显示更多选项 > 管理,进入如下页面:


3、找到mysql、右键 > 属性 > 登录,点击允许服务于桌面交互,更改后记得先选择应用后确定。


回到这一界面再一次安装



只不过这时找到MySQL后右键,选择属性,之后的操作一致(所以记住这个方法够用啦,手动启动MySQL也是这样的操作)!!!
二、下面介绍两种验证方式查看是否安装成功
1、MySQL控制台验证
开始菜单 > 打开 MySQL 8.0 Command Line Client 程序

输入设置的密码,弹出当前 MySQL 的服务器状态



到这里,MySQL就安装成功啦!!!在许多软件安装过程中,宝宝们可能会看到一个名为"bin"的文件夹,那么这个bin文件夹有什么作用呢?在本期 MySQL安装教程中用到了 cmd 的验证方式,并且在Python免费安装教程 中,也用到了 cmd 去验证 Python 是否安装成功!下一篇将在边边角角小知识专栏 中分享bin文件夹的作用以及 cmd 的一些小知识。

相关文章:
MySQL详细安装教程
一、从MySQL官网安装 可以翻译成中文看起来就舒服多了 下载并打开安装包,能看到版本是8.0.36,双击运行或者右键选择打开,打开后是一个安装向导,这个安装向导会先帮我们安装一个 mysql-installer 的程序,再通过该程序安…...
文件系统和日志管理
一、文件系统 1.概述 文件系统:文件系统提供了一个接口,用户用来访问硬件设备(硬盘)。硬件设备上对文件的管理。文件存储在硬盘上,硬盘最小的存储单位是512字节(扇区)。文件在硬盘上的最小存储…...
【LeetCode】【算法】208. 实现 Trie (前缀树)
LeetCode 208. 实现 Trie (前缀树) 题目描述 Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 请你实现 Trie 类&…...
libaom 源码分析:帧间运动矢量预测
AV1 帧间运动矢量预测原理 运动矢量可以被相邻块预测,这些相邻块可以是空域相邻块,或位于参考帧中的时域相邻块;通过检查所有这些块,将确定一组运动矢量预测器,并用于编码运动矢量信息。空域运动矢量预测 两组空域相邻块可以被利用寻找空域 MV 预测器,第一组包括当前块的…...
Android TextView自动换行文本显示不全解决
某些情况下,TextView自动换行后,会出现每行结尾处显示不全的问题, 如图: 常见解决方案: 设置TextView的“ellipsize”属性为“end” 实测无效!将TextView外部的Layout改为RelativeLayout 实测无效&…...
【LeetCode】【算法】394. 字符串解码
LeetCode 394. 字符串解码 题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字…...
最新整理:Selenium自动化测试面试题
1.selenium中如何判断元素是否存在? find_elements查找到的元素个数为0,find_element报错意味着元素不存在 2.如何判断元素是否出现? 判断元素是否出现,存在两种情况,一种是该元素压根就没有,自然不会出现;另外一种是有这样的…...
外包干了2年,快要废了。。。
先说一下自己的情况,普通本科,在外包干了2年多的功能测试,这几年因为大环境不好,我整个人心惊胆战的,怕自己卷铺盖走人了,我感觉自己不能够在这样蹉跎下去了,长时间呆在一个舒适的环境真的会让一…...
乐尚代驾十订单支付seata、rabbitmq异步消息、redisson延迟队列
账单信息 司机结束代驾之后,生成账单(包含账单信息和分账信息)司机发送账单给乘客乘客获取账单之后,进行支付 获取账单信息 order_bill表记录的账单信息,我们直接获取即可 Operation(summary "根据订单id获取…...
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,静态路由,环回,缺省,空接口,NAT
学习目标: 链路聚合VLAN间通讯Super VLANMSTPVRRPip配置,静态路由,环回,缺省,空接口NAT 学习内容: 实验拓扑实验需求实验需求分析实验配置内容 (每一个设备的每一步操作)实验结果验证 1.实验拓扑 搭建 …...
Apple提出MM1.5:多模态大型语言模型微调的方法、分析和见解_mm1.5 模型下载
摘要 我们介绍了 MM1.5,一个新的多模态大型语言模型 (MLLM) 家族,旨在增强在富文本图像理解、视觉参照和定位以及多图像推理方面的能力。 在 MM1 架构的基础上,MM1.5 采用以数据为中心的模型训练方法,系统地探索了整个模型训练生…...
【毫米波雷达(三)】汽车控制器启动流程——BootLoader
汽车控制器启动流程——BootLoader 一、什么是Bootloader(BT)?二、FBL、PBL、SBL、ESS的区别三、MCU的 A/B分区的实现 一、什么是Bootloader(BT)? BT就是一段程序,一段引导程序。它包含了启动代码、中断、主程序等。 雷达启动需要由BT跳转到…...
AI 搜索来势汹汹,互联网将被颠覆还是进化?
最近,美国新闻集团起诉了知名 AI 搜索引擎 Perplexity AI。也许你会想,这不就是又一起“AI 惹官司”吗?其实,这次情况不太一样,甚至可能会改变我们未来上网的方式! 争议的焦点是什么?是未来的 …...
《二分查找算法:在有序数组中搜索目标值》
目录 一、问题分析 二、二分查找算法原理 三、代码实现 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,我们要写一个函数来搜索 nums 中的 target,如果目标值存在就返回它的下标,否则返回 -1。 …...
【万字总结】数据结构常考应用大题做法画法详解_树_哈希表_图_排序大总结
文章目录 1.树相关应用大题1.1 已知二叉树的中序序列和前序or中序,画出二叉树1.2 二叉树的遍历、树的遍历、森林的遍历总结1.3二叉树与森林之间的转换1.3.1 已知树的先序序列和中序序列,画出森林 1.4 二叉树的线索化1.5 二叉排序树1.5.1 二叉排序树的删除…...
Docker + Jenkins + gitee 实现CICD环境搭建
目录 前言 关于Jenkins 安装Jenkins docker中运行Jenkins注意事项 通过容器中的Jenkins,把服务打包到docker进行部署 启动Jenkins 创建第一个任务 前言 CI/CD(持续集成和持续交付/持续部署),它可以实现自动化的构建、测试和部署…...
rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
在使用RabbitMQ时,保证消息不丢失以及处理消费者未接收到消息的情况可以通过以下几个方法: 1. 确保消息的持久化 队列持久化:在声明队列时将其设置为持久化(durabletrue),这样RabbitMQ在重启后也会保留队…...
商务数据分析在提升客户体验方面的作用体现在哪些环节
在当今竞争激烈的商业环境中,客户体验已成为企业成功的关键因素。商务数据分析犹如一把神奇的钥匙,在提升客户体验的征程中发挥着至关重要的作用,贯穿于多个环节。 一、客户需求分析:洞察客户内心的窗口 客户需求分析是商务数据…...
cooladmin使用整理
1、后端关键字自动生成没有代码段提示,原因是拉取的项目代码中没有.vscode文件夹,复制一套至项目src同级即可 2、前端快速创建,在Entity完成后就去快速创建中选数据结构,这时没有对应的内容,数据结构是和controller层a…...
CentOS 7 更换软件仓库
CentOS 7 于2024年6月30日停止维护,官方仓库已经没有软件了,想要继续使用 ,需要更换软件仓库,这里更换到阿里云的软件仓库 https://developer.aliyun.com/mirror/ 查看目前可用的软件数量 yum repolist 更换软件仓库:…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
