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(…...

MySQL联合索引最左匹配原则
MySQL中的联合索引(也叫组合索引)遵循最左匹配原则,即在创建联合索引时,查询条件必须从索引的最左边开始,否则索引不会被使用。在联合索引的情况下,数据是按照索引第一列排序,第一列数据相同时才会按照第二列排序。 例…...

2024最新最全面的软件测试自动化面试题(含答案)
1.如何把自动化测试在公司中实施并推广起来的? 选择长期的有稳定模块的项目 项目组调研选择自动化工具并开会演示demo案例,我们主要是演示selenium和robot framework两种。 搭建自动化测试框架,在项目中逐步开展自动化。 把该项目的自动化…...

Linux磁盘-MBRGPT
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux磁盘涉及到的命令不是很多,但是在实际运维中的作用却很大,因为Linux系统及业务都会承载到硬盘上…...

kind kubernetes(k8s虚拟环境)使用本地docker的镜像
kubernetes中,虽然下载镜像使用docker,但是存储在docker image里的镜像是不能被k8s直接使用的,但是kind不同,可以使用下面的方法,让kind kubernetes环境使用docker image里的镜像。 kind – Quick Start 例如&#x…...

kafka发送消息流程
配置props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class); public Map<String,Object> producerConfigs(){Map<String,Object> props new HashMap<>();props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers…...

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-敌人生成器(八)
文章目录 开发思路敌人生成器代码分析属性配置 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件(二) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞…...

Allegro中show elements不弹窗问题
今天allegro用的好好的,刚刚还可以正常使用show elements进行对象的详细信息查看的,突然就不好使了,具体表现为不弹窗。 找了好久找到一个类似问题的,具体的解决方法是: D:\Allegro\Cadence\SPB_Data\pcbenv在allegro的…...

【C++】继承最全解析(什么是继承?继承有什么用?)
目录 一、前言 二、什么是继承 ? 💢继承的概念💢 💢继承的定义💢 🥝定义格式 🍇继承权限 三、基类与派生类对象的赋值转换 四、继承的作用域 五、派生类中的默认成员函数 💢…...

STM32-外部中断浅析
本篇解释了STM32中断原理 MCU为什么需要中断 中断,是嵌入式系统中很重要的一个功能,在系统运行过程中,当出现需要立刻处理的情况时,暂停当前任务,转而处理紧急任务,处理完毕后,恢复之前的任务…...

Spring-Data-Elasticsearch
简介 Spring Data for Elasticsearch 是 Spring Data 项目的一部分,该项目旨在为新数据存储提供熟悉且一致的基于 Spring 的编程模型,同时保留特定于存储的特性和功能。 Spring Data Elasticsearch 项目提供了与 Elasticsearch 搜索引擎的集成。Spring…...