MySQL 8.0 是 MySQL 数据库的一个重大更新版本,它引入了许多新特性和改进,旨在提高性能、安全性和易用性。
1.下载MySQL 安装包
注:本文使用的是压缩版进行安装。
(1)从网盘下载安装文件
(2)从官网下载安装exe文件
在官网选择windows安装包进行下载,官网下载历史版需要注册登录,不想登录可以直接从网盘下载。
下载完成后,直接解压即可。解压后的目录结构如下:
2.解压版不包含 my.ini 文件,需要自己创建一下
在刚才解压的mysql根目录下,创建一个my.ini 文件。
文件内容直接拷贝以下内容。
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ----------此处修改为自己的配置------------
basedir=E:\mysql\mysql
# 设置mysql数据库的数据的存放目录 ---------此处修改为自己的配置--
datadir=E:\mysql\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
3.开始安装
以管理员身份打开CMD 命令执行窗口
在CMD 窗口,进入mysql 的bin目录。
E: # 进入E盘
cd E:\mysql\mysql\bin\ # 进入mysql的bin目录
注:切换盘符需要直接执行E:
以下的所有操作,都在 mysql 目录的 bin 目录下执行。
mysqld --initialize --console
执行完之后,记录如图的密码,后面要用到(root@localhost: 之后就是密码)。
安装mysql服务
mysqld --install mysql
提示安装成功就是没问题
启动mysql服务
net start mysql
提示启动成功
尝试连接mysql,命令如下
mysql -uroot -p
输入命令后,会提示输入密码,这里的密码就是刚才让大家记录的密码,粘贴过来就行。
使用以下命令就可以修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';
修改完密码,我们整个安装就完成了,接下来还剩最后一步,配置环境变量。
4.配置环境变量
此电脑 > 属性 > 高级系统设置 > 环境变量
新建一个环境变量
变量名是固定的,值是你的mysql安装路径
在path中加入以下代码
使用可视化工具连接Mysql
连接数据库的可视化工具我选用的是navicat,同样也放在网盘了,直接下载即可。
直接解压,然后双击exe,使用方式如图。
MySQL 8.0值得关注的新特性:
原子 DDL 操作:MySQL 8.0 引入了原子数据定义语言(DDL)操作,这意味着 DDL 操作(如创建表、修改表结构等)将作为一个单一的原子操作执行,确保操作的一致性和可靠性。
窗口函数:MySQL 8.0 支持窗口函数,这允许用户在查询中执行更复杂的数据分析,而无需使用 GROUP BY 语句。
隐式索引:MySQL 8.0 允许创建“隐式索引”,这些索引在查询优化器中不可见,可以用于性能调试和测试。
改进的 JSON 支持:MySQL 8.0 增强了对 JSON 数据的支持,包括新的 JSON 函数和操作符,使得处理 JSON 数据更加灵活和高效。
安全性增强:MySQL 8.0 引入了新的默认认证插件 caching_sha2_password,提供了更强的安全性。同时,它还支持角色管理和密码策略,以增强账户安全。
InnoDB 存储引擎的改进:InnoDB 是 MySQL 的默认存储引擎,MySQL 8.0 对其进行了多项改进,包括更好的自增列管理、更高效的索引和更强的事务支持。
数据字典:MySQL 8.0 引入了原生数据字典,取代了之前的 .frm、.par、.opt 文件,提供了更高效和直接的元数据访问和管理。
性能优化:MySQL 8.0 在性能方面进行了显著优化,包括改进的查询优化器、更好的成本模型和行缓存等,以提高查询效率和系统性能。
临时表优化:MySQL 8.0 对临时表进行了优化,允许用户创建的临时表统一到 ibtmp 文件的临时表空间中,提高了临时表的性能。
Redo 日志优化:MySQL 8.0 对 Redo 日志的写入进行了优化,允许用户线程并发复制 Redo 日志到日志缓冲区,减少了写入延迟。