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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/778126.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML+CSS+JavaScript入门学习

目录 1. 前言2. HTML2.1 HTML简介2.2 HTML标签 3. CSS3.1 CSS知识整理及总结3.2 CSS之flex布局 4. JavaScript4.1 JavaScript知识整理及总结1-基础篇4.2 JavaScript知识整理及总结2-进阶篇 1. 前言 本文主要采用转载的形式,偶尔发现了一个比较不错的博客站点&#…

华为ENSP防火墙+路由器+交换机的常规配置

(防火墙区域DHCP基于接口DHCP中继服务器区域有线区域无线区域)配置 一、适用场景: 1、普通企业级网络无冗余网络环境,防火墙作为边界安全设备,分trust(内部网络信任区域)、untrust(外部网络非信…

计算机网络-IP组播基础

一、概述 在前面的学习交换机和路由协议,二层通信是数据链路层间通信,在同一个广播域间通过源MAC地址和目的MAC地址进行通信,当两台主机第一次通信由于不清楚目的MAC地址需要进行广播泛洪,目的主机回复自身MAC地址,然后…

JSP WEB开发(一) JSP语言基础

目录 JSP JSP简介: JSP页面 JSP运行原理 JSP脚本元素 JAVA程序片 局部变量 全局变量和方法的声明 全局变量 方法的声明 程序片执行特点 synchronized关键字 表达式 JSP指令标记 page指令 include指令 JSP动作标记 JSP动作元素include和include指令的…

【C++】B树及其实现

写目录 一、B树的基本概念1.引入2.B树的概念 二、B树的实现1.B树的定义2.B树的查找3.B树的插入操作4.B树的删除5.B树的遍历6.B树的高度7.整体代码 三、B树和B*树1.B树2.B*树3.总结 一、B树的基本概念 1.引入 我们已经学习过二叉排序树、AVL树和红黑树三种树形查找结构&#x…

1-3 NLP为什么这么难做

1-3 NLP为什么这么难做 主目录点这里 字词结构的复杂性 中文以汉字为基础单位,一个词通常由一个或多个汉字组成,而不像英语词汇单元由字母构成。这使得中文分词(切分句子为词语)成为一个具有挑战性的任务。语言歧义性 中文中常…

Mysql-常见DML-DQL-语句语法用法总结

1、常见DML语句 1.1 INSERT语句 说明:将数据插入到数据库表中。 INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 实例:添加C罗信息到数据库表中 insert into employee (ID, name, gender, entrydate, age) values …

eclipse断点调试(用图说话)

eclipse断点调试(用图说话) debug方式启动项目,后端调试bug调试 前端代码调试,请参考浏览器断点调试(用图说话) 1、前端 选中一条数据,点击删除按钮 2、后端接口打断点 断点按钮 介绍 resu…

python如何设计窗口

PyQt是一个基于Qt的接口包,可以直接拖拽控件设计UI界面,下面我简单介绍一下这个包的安装和使用,感兴趣的朋友可以自己尝试一下: 1、首先,安装PyQt模块,这个直接在cmd窗口输入命令“pip install pyqt5”就行…

Hugging Face 全球政策负责人首次参加WAIC 2024 前沿 AI 安全和治理论坛

Hugging Face 全球政策负责人艾琳-索莱曼 ( Irene Solaiman )将参加7月5日在上海举办的WAIC-前沿人工智能安全和治理论坛,并在现场进行主旨演讲和参加圆桌讨论。具体时间信息如下:主旨演讲:开源治理的国际影响时间 &am…

YOLOv8改进 添加轻量级注意力机制ELAttention

一、ELA论文 论文地址:2403.01123 (arxiv.org) 二、Efficient Local Attention结构 ELA (Efficient Local Attention) 被用于处理自然语言处理任务中的序列数据。它旨在提高传统注意力机制的效率,并减少其计算和存储成本。 在传统的注意力机制中,计算每个输入位置与所有其…

fastadmin 如何给页面添加水印

偶然发现fastadmin框架有个水印插件&#xff0c;看起来漂亮&#xff0c;就想也实现这样的功能&#xff0c;看到需要费用。但是现成的插件需要费用&#xff0c;自己动手丰衣足食。说干就干。 1. 找到watermark.js &#xff0c;放到assets/js/ 下面 2.具体页面引入 <script…

【深度学习】图形模型基础(5):线性回归模型第四部分:预测与贝叶斯推断

1.引言 贝叶斯推断超越了传统估计方法&#xff0c;它包含三个关键步骤&#xff1a;结合数据和模型形成后验分布&#xff0c;通过模拟传播不确定性&#xff0c;以及利用先验分布整合额外信息。本文将通过实际案例阐释这些步骤&#xff0c;展示它们在预测和推断中的挑战和应用。…

Docker 运行Nacos无法访问地址解决方法

参考我的上一篇文章去配置好镜像加速器&#xff0c;镜像加速器不是配置越多越好&#xff0c;重试次数多了会失败 Dockerhub无法拉取镜像配置阿里镜像加速器-CSDN博客 错误的尝试 最开始按照网上的方式去配了一大堆&#xff0c;发现下不下来。 镜像源地址&#xff1a;https:…

奇景光电战略投资Obsidian,共筑热成像技术新未来

5月29日,业界领先的IC设计公司奇景光电宣布,将对热成像传感器解决方案制造商Obsidian进行战略性投资,并以主要投资者的身份,参与到Obsidian的可转换票据融资活动中。虽然奇景光电并未公开具体的投资金额,但这一举动无疑向市场传递了一个明确的信号:奇景光电对Obsidian的技…

web Worker学习笔记 | 浏览器切换标签,定时器失效的解决办法

文章目录 web Workerweb Worker介绍 - 多线程解决方案浏览器多进程架构 web workers 的使用关闭worker引用其他js文件 浏览器切换标签&#xff0c;定时器失效的解决办法窗口可见性 API解决定时器失效的方案 web Worker web Worker介绍 - 多线程解决方案 Web Workers 是Html5提…

项目收获总结--MySQL的知识收获

一、概述 最近几天公司项目开发上线完成&#xff0c;做个收获总结吧~ 今天先记录MySQL的收获和提升。 二、MySQL表分区 项目中遇到数据量过大导致在查询过程中会出现各种超时的情况&#xff0c;当然是可以使用各种中间件比如MyCat&#xff0c;ShardingJDBC 等分库工具来进行…

项目实战--Spring Boot + Minio文件切片上传下载

1.搭建环境 引入项目依赖 <!-- 操作minio的java客户端--> <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.2</version> </dependency> <!-- jwt鉴权相应依赖--> &…

Redis三种模式——主从复制、哨兵模式、集群

一、Redis模式 Redis有三种模式&#xff1a;分别是主从同步/复制、哨兵模式、Cluster 主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和群集都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简…

Linux安装达梦

文章目录 前言一、docker安装1.下载镜像2.导入镜像3.生成容器 二、ios安装1.环境准备2.iso安装3.配置实例4.注册服务5.启停服务 总结 前言 公司要求我将数据从oracle迁移到达梦数据库&#xff0c;这个国产数据库以前没用过&#xff0c;所以记录一下这次的安装过程。 一、docke…