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

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驱动器
  • 配置建议
    • 预计会有更多的自动调优和智能配置选项
    • 强化的分布式数据库配置和管理
    • 更高效的资源分配和负载均衡

选择适合的版本和配置

  1. 小型应用或遗留系统

    • MySQL 5.0 可能已经足够,但建议升级到至少MySQL 8.0以获得更好的性能和安全性。
  2. 中大型应用和现代化Web应用

    • MySQL 8.0 是目前最佳选择,提供了丰富的现代功能和改进的性能。
  3. 未来的高性能、大规模分布式应用

    • 关注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环境变量中。

  1. 右键点击“此电脑”或“我的电脑”,选择“属性”。
  2. 点击“高级系统设置”。
  3. 点击“环境变量”按钮。
  4. 在“系统变量”部分,找到并选择Path变量,点击“编辑”。
  5. 点击“新建”,然后输入MySQL的bin目录路径,例如:C:\mysql-5.7.44\bin
  6. 点击“确定”保存。

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. 初始化数据库

        

  1. 以管理员身份运行命令行,win下面点击左下角window按钮,输入cmd,在命令提示符右键点击“以管理员身份运行命令行”

  2. 打开命令提示符(cmd)并导航到MySQL的bin目录,如果你和我一样把mysql放在d盘,要先在cmd上输入命令d:再按Enter进入D盘再执行:

    d:

  3. cd D:\Program\mysql-5.7.44-win32\bin
  4. 初始化数据库:

    mysqld --initialize --console --explicit_defaults_for_timestamp
    

    这条命令将在控制台输出一个临时生成的root用户密码,记下这个密码。值得注意下面会产生一些警告,是无法避免。

  5. 这些警告大多数是在初始化过程中出现的正常行为,用于提醒用户当前系统的状态和潜在的问题。它们是合理的,并且在大多数情况下无需特别处理。以下是一些应对措施:,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(…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...