SpringBoot新手快速入门系列教程二:MySql5.7.44的免安装版本下载和配置,以及简单的Mysql生存指令指南。
我的教程都是亲自测试可行才发布的,如果有任何问题欢迎留言或者来群里我每天都会解答。

我们要如何选择MySql
目前主流的Mysql有5.0、8.0、9.0
主要区别
MySQL 5.0
- 发布年份:2005年
- 特性:
- 基础事务支持
- 存储过程、触发器、视图
- 基础存储引擎(如MyISAM、InnoDB)
- 外键支持
- 基本的全文搜索
- 性能和扩展性:
- 相对较慢,适合小型应用
- 扩展性有限
- 安全性:
- 基本的安全功能
- 不支持较新的安全标准
MySQL 8.0
- 发布年份:2018年
- 特性:
- 原生JSON支持
- CTE(Common Table Expressions)和窗口函数
- 更强大的全文搜索
- 更好的GIS支持
- 持续时间的数据定义语言(DDL)
- 自动数据压缩和解压缩
- 角色支持和更好的权限管理
- 性能和扩展性:
- 大幅提升的性能和可扩展性
- 基于资源组的资源管理
- 更好的并发处理
- 安全性:
- 强化的安全功能,如逐步身份验证、密码策略
- 数据加密支持
MySQL 9.0
- 目前状态:尚未发布(假设未来版本)
- 预期特性:
- 更高级的数据分析功能
- 改进的分布式数据库支持
- 更强的机器学习和人工智能集成
- 更好的自动化和自我优化功能
- 性能和扩展性:
- 预计在8.0基础上进一步提升性能和可扩展性
- 增强的多租户支持
- 安全性:
- 预期更高级别的安全和隐私保护功能
生产环境配置
MySQL 5.0
- 适用场景:小型应用和遗留系统
- 硬件需求:相对较低
- CPU:单核或双核处理器
- 内存:2GB以上
- 磁盘:普通HDD即可
- 配置建议:
- 调整缓冲池和查询缓存大小以适应小规模负载
MySQL 8.0
- 适用场景:中大型应用,现代化的Web应用和数据密集型应用
- 硬件需求:中高端配置
- CPU:多核处理器(8核以上)
- 内存:16GB以上(视数据量和负载而定)
- 磁盘:SSD以提高I/O性能
- 配置建议:
- 配置InnoDB缓冲池(innodb_buffer_pool_size)以匹配内存大小
- 使用查询优化器和性能模式进行调优
- 开启GTID(全局事务标识符)和复制以提高可靠性
- 使用MySQL Enterprise Monitor进行监控
MySQL 9.0
- 适用场景:未来的高性能、大规模分布式应用
- 硬件需求:高端配置(假设)
- CPU:高核数处理器(16核以上)
- 内存:32GB以上(视数据量和负载而定)
- 磁盘:高速SSD或NVMe驱动器
- 配置建议:
- 预计会有更多的自动调优和智能配置选项
- 强化的分布式数据库配置和管理
- 更高效的资源分配和负载均衡
选择适合的版本和配置
-
小型应用或遗留系统:
- MySQL 5.0 可能已经足够,但建议升级到至少MySQL 8.0以获得更好的性能和安全性。
-
中大型应用和现代化Web应用:
- MySQL 8.0 是目前最佳选择,提供了丰富的现代功能和改进的性能。
-
未来的高性能、大规模分布式应用:
- 关注MySQL 9.0的发展,并准备在其发布后进行评估和测试。
结论
在生产环境中选择合适的MySQL版本和配置,主要取决于你的应用需求、数据量、并发负载和性能要求。MySQL 8.0 是目前推荐的版本,适用于大多数现代应用。未来的MySQL 9.0 将提供更多高级功能和性能改进,适合高性能、大规模应用的开发。
这里我们选择Mysql5.7.44,因为5.x系列的数据库可以部署在1核2gb内存的linux服务器上,成本最低。并且5.7.44是5.x系列最后一个版本,相对来说也是最稳定的一个版本。
所以现在我们来下载安装一下Mysql
1,下载
MySQL :: Download MySQL Community Server (Archived Versions)

2,配置环境变量
为了方便使用MySQL命令行工具,可以将MySQL的bin目录添加到系统的PATH环境变量中。
- 右键点击“此电脑”或“我的电脑”,选择“属性”。
- 点击“高级系统设置”。
- 点击“环境变量”按钮。
- 在“系统变量”部分,找到并选择
Path变量,点击“编辑”。 - 点击“新建”,然后输入MySQL的
bin目录路径,例如:C:\mysql-5.7.44\bin。 - 点击“确定”保存。

3. 创建配置文件
创建一个MySQL配置文件my.ini,并将其放置在MySQL的根目录(例如C:\mysql-5.7.44)下。文件内容如下:
[mysqld]
# 设置MySQL的安装目录
basedir=D:/Program/mysql-5.7.44-win32# 设置MySQL数据库的数据存放目录
datadir=D:/Program/mysql-5.7.44-win32/data# 设置端口
port=3306# 设置字符集
character-set-server=utf8mb4# 设置sql模式
sql_mode=NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER# 设置错误消息文件位置
lc-messages-dir=D:/Program/mysql-5.7.44-win32/share# 禁用日志记录
log_syslog=0# 启用TLSv1.2并禁用过时的TLS版本
ssl-cipher=TLSv1.2
tls-version=TLSv1.2# 其他设置
default-storage-engine=INNODB

4. 初始化数据库
-
以管理员身份运行命令行,win下面点击左下角window按钮,输入cmd,在命令提示符右键点击“以管理员身份运行命令行”

-
打开命令提示符(cmd)并导航到MySQL的
bin目录,如果你和我一样把mysql放在d盘,要先在cmd上输入命令d:再按Enter进入D盘再执行:d: -
cd D:\Program\mysql-5.7.44-win32\bin -
初始化数据库:
mysqld --initialize --console --explicit_defaults_for_timestamp这条命令将在控制台输出一个临时生成的root用户密码,记下这个密码。
值得注意下面会产生一些警告,是无法避免。 -
这些警告大多数是在初始化过程中出现的正常行为,用于提醒用户当前系统的状态和潜在的问题。它们是合理的,并且在大多数情况下无需特别处理。以下是一些应对措施:,InnoDB和UUID警告:这些警告是首次初始化时正常的,无需处理。GTID表警告:初始化后GTID表会正常创建,无需处理。TLS警告:在
my.ini文件中指定使用TLSv1.2或更高版本。自签名证书警告:测试环境中可以忽略,生产环境中建议使用受信任的CA证书。
5. 运行数据库
mysqld --console
6. 修改用户名密码
首先你需要运行起来mysql,然后以管理员身份新开一个命令行,用root用户登录到MySQL。打开命令提示符(cmd),并输入以下命令:
mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
执行完上述命令后,刷新权限以使更改生效
FLUSH PRIVILEGES;
退出exit
EXIT;
7. 停止MySQL服务器
net stop MySQL
8. 以安全模式启动MySQL服务器:
以安全模式启动MySQL服务器(使用 --skip-grant-tables 选项)通常在你无法正常连接到MySQL服务器或需要重置root用户密码的情况下使用。
1,在命令提示符中,导航到MySQL的安装目录下的bin目录,例如:
cd D:\Program\mysql-5.7.44-win32\bin
2,使用 --skip-grant-tables 和 --skip-networking 选项启动MySQL服务器:
mysqld --skip-grant-tables --skip-networking
相关文章:
SpringBoot新手快速入门系列教程二:MySql5.7.44的免安装版本下载和配置,以及简单的Mysql生存指令指南。
我的教程都是亲自测试可行才发布的,如果有任何问题欢迎留言或者来群里我每天都会解答。 我们要如何选择MySql 目前主流的Mysql有5.0、8.0、9.0 主要区别 MySQL 5.0 发布年份:2005年特性: 基础事务支持存储过程、触发器、视图基础存储引擎…...
Elasticsearch 更新指定字段
Elasticsearch 更新指定字段 准备条件查询数据更新指定字段更新子级字段 准备条件 以下查询操作都基于索引crm_clue来操作,索引已经建过了,本文主要讲Elasticsearch更新指定字段语句,下面开始写更新语句执行更新啦! 查询数据 查…...
Koa.js、Egg.js与Express.js:探析三大Node.js框架的异同
在Node.js的世界里,选择合适的框架对于构建高效、可维护的后端服务至关重要。Express.js、Koa.js 和 Egg.js 是三个备受欢迎的框架,它们各有特色,适用于不同的开发场景。本文旨在深入探讨这三个框架的区别,并通过代码示例帮助开发…...
【MYSQL】如何解决 bin log 与 redo log 的一致性问题
该问题问的其实就是redo log 的两阶段提交 为什么说redo log 具有崩溃恢复的能力 MySQL Server 层拥有的 bin log 只能用于归档,不足以实现崩溃恢复(crash-safe),需要借助 InnoDB 引擎的 redo log 才能拥有崩溃恢复的能力。所谓崩…...
翻译语音识别在线的软件,分享4款实用的软件!
在全球化日益加速的今天,语言沟通已成为人们生活中不可或缺的一部分。无论是商务洽谈、学术交流还是日常交流,翻译语音识别技术都扮演着举足轻重的角色。今天,我们就来揭秘一下,那些能让你在语言沟通中如虎添翼的翻译语音识别软件…...
Qt 的Q_PROPERTY关键字
Qt 的Q_PROPERTY关键字 1. Q_PROPERTY 的由来2. 实现原理3. Q_PROPERTY 的特点4. Q_PROPERTY 的属性5. 应用说明示例代码示例代码连接信号和槽的多种方式处理信号和槽的注意事项 QT的元对象系统1. 元对象系统的由来2. 实现原理3. 元对象系统的特点4. 元对象系统的属性5. 应用说…...
github 下载提速的几种方法
1. 代理下载(无需注册) //toolwa.com/github/ //d.serctl.com/2. 转入 Gitee 加速 将项目镜像到 Gitee 中下载加速 3. 使用 Watt Toolkit 加速 Watt Toolkit //steampp.net/选择合适的版本下载 选择 github,一键加速 4.CDN 加速 (修改…...
【Oracle】实验三 Oracle数据库的创建和管理
【实验目的】 掌握Oracle数据库的创建方法使用DBCA创建数据库在数据库中装入SCOTT用户及其表 【实验内容】 使用DBCA创建数据库,名为MYDB,找到其初始化文件(文本型和服务器型文件都要找到),查看各类默认位置并记录下来(包括物理文件所在目…...
Linux rpm和ssh损坏修复
背景介绍 我遇到的问题可能和你的不一样。但是如果遇到错误一样也可以按此方案尝试修复。 我是想在Linux上安装Oracle,因为必须在离线环境下安装。就在网上搜一篇文章linux离线安装oracle,然后安装教程走,进行到安装oracle依赖包的时候执行了…...
仕考网:公务员考试面试时间一般多长?
公务员考试主要分为笔试与面试两个阶段,其中面试是笔试通过的下一关,面试的具体安排通常由相关考试机构或招录单位负责发布并通知考生。 公务员面试的持续时间一般在30分钟至1小时之间,具体时长可能因地区和招录单位的不同而有所变化。常见的…...
C语言作业5(学生管理系统C语言)
成学生管理系统 1> 使用菜单完成 2> 有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入 3> 查看学生信息:输出所有学生姓名以及对应的分数 4> 求出学习最好的学生信息:求最大值 5> 按姓名将所有学…...
OS Copilot:新手测评体验
文章目录 前言一、OS Copilot(阿里云操作系统智能助手)简介二、测评体验总结OS Copilot 产品体验评测OS Copilot 产品功能反馈 前言 本文简单分享一下自己使用OS Copilot测评体验。 一、OS Copilot(阿里云操作系统智能助手)简介 …...
PS 2024【最新】中文白嫖版!,安装教程,图文步骤
文章目录 软件介绍软件下载安装步骤 软件介绍 Photoshop,简称“PS” Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件。Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具,可以有效地…...
bind方法的使用
在JavaScript或TypeScript中,this.data.setEventListener(this.onAddEvent.bind(this)); 和 this.data.setEventListener(this.onAddEvent); 之间的主要区别在于this关键字的绑定方式。 不使用.bind(this) 当你直接传递函数引用 this.onAddEvent给 setEventListene…...
MySQL数据库基本操作-DDL和DML
1. DDL解释 DDL(Data Definition Language),数据定义语言,该语言部分包括以下内容: 对数据库的常用操作对表结构的常用操作修改表结构 2. 对数据库的常用操作 功能SQL查看所有的数据库show databases;查看有印象的数据库show d…...
iOS 应用内存超过多少会收到系统内存警告 ?
iOS 应用内存超过多少会收到系统内存警告 ? 在 iOS 应用中,系统内存警告的触发是由 iOS 操作系统动态决定的,并不是一个固定的阈值。系统会根据当前设备的可用内存、正在运行的其他应用程序的内存需求以及当前应用程序的内存占用情况来判断是…...
【分布式系统】Filebeat+Kafka+ELK 的服务部署
目录 一.实验准备 二.配置部署 Filebeat 三.配置Logstash 四.验证 一.实验准备 结合之前的博客中的实验 主机名ip地址主要软件es01192.168.80.101ElasticSearches02192.168.80.102ElasticSearches03192.168.80.103ElasticSearch、Kibananginx01192.168.80.104nginx、Logs…...
Qt Qwt 图表库详解及使用
文章目录 Qt Qwt 图表库详解及使用一、Qwt 概述二、安装 Qwt1. 下载和编译 Qwt2. 在项目中使用 Qwt三、Qwt 的基本使用1. 创建一个简单的折线图2. 添加图例和自定义样式四、Qwt 的交互功能1. 启用缩放和平移2. 启用数据点选择五、Qwt 的高级特性1. 实时数据更新2. 多轴绘图六、…...
基于B站视频评论的文本分析,采用包括文本聚类分析、LDA主题分析、网络语义分析
研究主题 本研究旨在通过对B站视频评论数据进行文本分析,揭示用户评论的主题、情感倾向和语义结构,助力商业决策。主要技术手段包括Python爬虫、LDA主题分析、聚类分析和语义网络分析。首先,利用Python爬虫采集大量评论数据并进行预处理。运…...
【Qt】xml Dom复制
1. 功能 将A.xml文件中的copyNode节点全部复制到B.xml中的testRoot节点。 2. 代码 #include <QDomDocument> #include <QFile> #include <QIODevice> #include <QtXml>void copyNodeXml() {// 源文件DOMQDomDocument ADoc;// 加载源文件QFile fileA(…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
