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:
    
   cd D:\Program\mysql-5.7.44-win32\bin
  1. 初始化数据库:

    mysqld --initialize --console --explicit_defaults_for_timestamp
    

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

  2. 这些警告大多数是在初始化过程中出现的正常行为,用于提醒用户当前系统的状态和潜在的问题。它们是合理的,并且在大多数情况下无需特别处理。以下是一些应对措施:,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
相关推荐
Yvemil716 分钟前
《开启微服务之旅:Spring Boot Web开发》(二)
前端·spring boot·微服务
hanglove_lucky18 分钟前
本地摄像头视频流在html中打开
前端·后端·html
计算机学长felix30 分钟前
基于SpringBoot的“旅游管理系统”的设计与实现(源码+数据库+文档+PPT)
spring boot·毕业设计
苹果醋31 小时前
SpringBoot快速入门
java·运维·spring boot·mysql·nginx
ROCKY_8171 小时前
Mysql复习(一)
数据库·mysql
Smile丶凉轩2 小时前
MySQL库的操作
数据库·mysql·oracle
皓木.2 小时前
(自用)配置文件优先级、SpringBoot原理、Maven私服
java·spring boot·后端
CodeChampion2 小时前
60.基于SSM的个人网站的设计与实现(项目 + 论文)
java·vue.js·mysql·spring·elementui·node.js·mybatis
i7i8i9com2 小时前
java 1.8+springboot文件上传+vue3+ts+antdv
java·spring boot·后端
秋意钟2 小时前
Spring框架处理时间类型格式
java·后端·spring