一、MySQL版本介绍
1、MySQL 8.0
- 窗口函数:MySQL 8.0版本支持窗口函数,这是数据分析工作中非常常用的一类函数。窗口函数可以让用户在单个查询中跨多个行检索数据,并在查询结果中对数据执行计算。
- 隐藏索引:在MySQL 8.0版本中,索引可以隐藏,这有助于优化复杂查询的执行速度。隐藏索引是MySQL 8.0版本中新推出的一项功能,它可以帮助用户在某些场景下更快地执行查询。
- 按降序排序:MySQL 8.0版本支持按降序排序,这使得对于某些数据查询场景,可以更快、更准确地执行排序操作。
- InnoDB改进:MySQL 8.0版本对InnoDB引擎进行了优化,包括支持事务紧缩、在线备份恢复、增强的事务隔离级别等功能。这些改进可以提高InnoDB引擎在高并发、数据复杂查询、数据恢复等方面的性能和可靠性。
- 支持JSON格式:MySQL 8.0版本新增了对JSON格式数据的支持,这是数据库领域的一个热门趋势。JSON格式可以方便地存储和检索各种类型的数据,并且可以轻松地与其他系统进行集成。
注意: MySQL 8.0版本在功能和性能方面都有很多改进和增强,这使得它成为目前最好的MySQL版本之一。但是,需要注意的是,MySQL 8.0版本仍然是一个发展中的版本,因此在某些情况下可能存在一些bug和问题。在实际使用过程中,需要根据实际需求和场景选择合适的版本。
2、MySQL 5.7
- 支持 JSON 格式数据类型,可以在 MySQL 中直接存储 JSON 数据。
- 优化了 InnoDB 存储引擎的性能和可扩展性,支持大容量数据加载和负载均衡。
- 改进了复制功能,提高主从复制的可靠性和可用性。
- 提供了更好的监控和管理工具,包括性能模式、监控数据、错误日志等。
- 加强了安全功能,包括验证、加密、访问控制等,提高了数据库的安全性。
- 进行了优化和重构,提高了数据库的可维护性和可扩展性。
- 提供了 GIS(地理信息系统)功能,可以处理空间数据类型。
说明: MySQL 5.7 相比之前的版本在功能、性能和安全性方面都有较大改进。虽然已经推出了新版本(如 MySQL 8.0),但 MySQL 5.7 仍然是一个稳定、流行的数据库版本,有很多企业级应用仍然在使用。
3、MySQL 8.0 和 MySQL 5.7 的区别
说明: MySQL 5.7版本和MySQL 8.0版本在功能、性能和安全性方面存在一些区别。
- 功能:MySQL 8.0版本引入了一些新特性,如支持窗口函数、隐藏索引、按降序排序等。此外,MySQL 8.0版本还具有更多的性能改进,尤其是在高并发、数据库复杂查询、在线备份恢复等方面。
- 性能:MySQL 8.0版本在读/写工作负载、IO密集型工作负载以及高竞争工作负载时的性能相较于MySQL 5.7有明显的提升。
- 安全性:MySQL 5.7版本已经针对5.7以下的版本进行常规的bug修复和性能优化,并在安全性和性能方面进行了很多改进。MySQL 8.0版本在安全性方面也进行了一些改进,但相较于MySQL 5.7版本在安全性方面的改进可能较少。
- 索引:MySQL 8.0版本提供了更多的索引类型和选项,例如隐藏索引。此外,MySQL 8.0版本还支持索引被隐藏时不会被查询优化器所使用。
- 编码:MySQL 8.0版本将数据库的默认编码改为UTF-8,该编码包含了所有emoji字符。这是一项长期以来的需求,因为多年来使用MySQL的人们一直在为编码问题小心翼翼。从MySQL 8.0开始,我们不再需要担心这个问题。
注意: MySQL 8.0版本在功能、性能和安全性方面相较于MySQL 5.7版本有明显的提升和改进。但需要注意的是,MySQL 8.0版本仍然是一个发展中的版本,因此在某些情况下可能存在一些bug和问题。在实际使用过程中,需要根据实际需求和场景选择合适的版本。
二、下载MySQL8.0安装包
官网下载:MySQL :: MySQL Downloads
1、选择 downloads 下滑选择 MySQL Community(GPL) Downloads x
2、选择 MySQL Installer for Windows (注意这是windows版本)
3、点击 Downloads 点击 No thanks, just start my download
4、下载之前版本 选择 Archives
三、安装MySQL8.0
1、选择 custom(自定义) 点击 Next(下一步 )
2、展开 MySQL Servers 选择 MySQL Server 8.0.33-x64 点击绿色箭头 →
注意: 如果要选择自定义安装路径 ,需要选中 MySQL Server 8.0.33-x64
3、选择 Named Pipe(命名管道) Shared Memory(共享内存) Show Advanced and Logging Options(显示高级选项和日志选项) Next
- 命名管道: MySQL安装时的命名管道是一种通讯协议,用于在客户端和MySQL服务器之间传输数据。它一般用于局域网中,要求客户端必须具有访问服务器资源的权限。与TCP/IP(传输控制协议或internet协议)一样,命名管道是一种通讯协议。
- 共享内存:MySQL安装的共享内存是一种进程间通信机制。MySQL实例(mysqld进程)以及底层存储引擎用来暂存各种全局运算及可共享的暂存信息,如存储查询缓存的Query Cache、缓存连接线程的Thread Cache、缓存表文件句柄信息的Table Cache、缓存二进制日志的BinLog Buffer、缓存MyISAM存储引擎索引键的Key Buffer以及存储InnoDB数据和索引的InnoDB Buffer Pool等等。这些信息在MySQL实例和底层存储引擎之间共享。通过使用共享内存,MySQL实例和底层存储引擎可以更高效地通信和协作,从而提高数据库系统的性能。共享内存是一种快速、高效、并发的通信机制,被广泛应用于各种操作系统和应用程序中。在MySQL中,共享内存用于暂存各种全局运算及可共享的暂存信息,包括查询缓存、连接线程、表文件句柄信息、二进制日志、MyISAM存储引擎索引键和InnoDB数据和索引等信息。共享内存的使用可以提高MySQL数据库系统的性能,特别是在多线程、高并发的环境下更能体现出其优势。
- 显示高级选项和日志选项:
Show advanced options
:显示高级选项,例如 MySQL 的数据目录、二进制日志选项等。Enable support for Logarchieve
:启用对 Logarchiver 的支持。Logarchiver 是一个工具,用于备份和恢复 MySQL 的二进制日志和错误日志。Install Logarchieve
:安装 Logarchiver。Enable InnoDBRep
:启用 InnoDBRepline。InnoDBRepline 是一个复制方案,允许从 InnoDB 数据库的更改中创建复制。Install InnoDBRep
:安装 InnoDBRepline。Install development files
:安装开发文件,包括 C API 和源代码等。Enable the MySQL Audit Connector
:启用 MySQL 审计连接器。MySQL 审计连接器允许您监视对 MySQL 数据库的访问和操作。- 根据以上可以定制 自定义MySQL
说明:
- Minimum access to all users (RECOMMENDED)对所有用户的最小访问权限(推荐)
- Full access to members of an existing local group对现有本地组成员的完全访问权限
- Full access to all users (NOT RECOMMENDED)完全访问所有用户(不推荐)
说明:
- Use Strong Password Encryption for Authentication (RECOMMENDED)使用强密码加密鉴权(推荐)
- Use Legacy Authentication Method (Retain MySOL 5.x Compatibility)使用旧的身份验证方法(保留MySOL 5)。x兼容性)
4、设置用户名密码
5、是否添加其他账号(如果添加点击 Add User)
6、继续Next
说明:
- Configure MySOL Server as a Windows Service 将mysql服务器配置为Windows服务
- Start the MySOL Server at System Startup在系统启动时启动mysql服务器
- Standard System Account当前系统账户支持 用于大多数场景(推荐)
- Custom User 自定义 为高级场景选择的现有用户
说明:
- Yes, grant full access to the user running the Windows Service (if applicable) and theadministrators group only. Other users and groups will not have access.是的,只向运行Windows服务的用户(如果适用)和管理员组授予完全访问权限。其他用户和组将没有访问权限。
- Yes, but let me review and configure the level of access.是的,但让我检查并配置访问级别。
- No, I will manage the permissions after the server configuration.不会,我会在服务器配置完成后进行权限管理。
7、日志
说明:
- General Log 常规查询日志是关于MySQL服务器正在做什么的常规记录。
它只应该用来追踪问题。 - Slow Query Log 缓慢的查询日志由sql语句组成,这些语句的执行时间超过给定的秒值。建议打开该日志。
- Binary Log 二进制日志包含所有数据库事件,用于复制和数据恢复操作。启用日志会对服务器的性能产生影响。输入日志名称,不带文件扩展名。
注意: 开启二进制日志后,也代表可以支持主从复制
8、完成
9、配置环境变量
10、cmd 命令查看(如果进入不了mysql 检查你环境变量是否配置,然后重启。)
11、启动MySQL命令
- 命令行启动 net start mysql80 (注意需要以管理员身份执行)
- 命令行停止 net stop mysql80 (注意需要以管理员身份执行)
- 查看服务