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(…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
