MySQL新版本8.0.18有哪些亮点?MySQL8.0.18如何安装?MySQL是好用的关系型数据库管理系统,在这个数据大时代下,很多企业使用MySQL来管理公司的数据,MySQL8.0.18亮点之一Hash Join。MySQL8.0.18的安装需要下载、配置文件、初始化等过程,不像软件那样简单。下面来看看MySQL8.0.18如何安装。
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
1.下载MySQL8.0.18文件压缩包。
下载地址: https://dev.mysql.com/downloads/mysql/
2.解压安装
将下载好的zip压缩包解压到你的安装目录下
3.配置环境和文件
(1) 配置my.ini文件,解压之后缺少两个文件,一个是my.ini文件以及一个data文件夹创建一个my.ini文件,将下列内容复制进去:
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\installSoftWare\Sql\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\installSoftWare\Sql\mysql-8.0.18-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
需要修改就是basedir和datadir这两个安装目录,一个是mysql的安装目录,一个是mysql数据的存放目录。
(2) 配置环境
在path变量中加入你的MySQL的bin路径即可,例如路径是:E:\installSoftWare\Sql\mysql-8.0.18-winx64\bin
4.初始化MySQL+安装MySQL服务+修改密码
按如下步骤进行:
首先使用命令进入到你的安装目录,例如安装目录是D盘,D:\MySQL\mysql-8.0.16-winx64\bin,则在此目录下进行相应的过程,然后输入初始化命令: mysqld --initialize --console
注意: 要记住初始密码,等会需要修改初始密码
然后开始安装MySQL服务,假如服务名字为mysql8,则输入命令:mysqld install Mysql8
安装成功后会提示:Service successfully installed.
接下来就是开启服务,输入下面的命令:net start Mysql8
这个命令用于开启服务,net stop Mysql8用于关闭服务
开启成功以后会出现下图提示:
然后使用命令mysql -u root -p开始登陆,回车之后会提示输入密码,这时就使用之前记住的初始密码登录
然后开始修改密码,输入如下命令:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
修改成功出现如下提示:
然后就可以使用新密码进行登录了
第一步:下载MySql
下载地址:https://dev.mysql.com/downloads/mysql/
第二步:安装MySql
打开下载文件解压到指定文件目录。(我这里解压目录为G:\MySQL\mysql-8.0.18-winx64)
打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件)
my.ini文件内容如下:
这里需要将basedir 与 datadir 路径改成mysql的解压路径
找到CMD命令提示符,右键以管理员身份运行
进入mysql子目录bin,依次输入
mysqld --install (安装)
mysqld --initialize (初始化)
net start mysql(运行)
第三步:设置MySql登录密码
mysql安装完成后打开mysql安装目录里面的data文件夹, 里面有个.err文件,用Notepad++打开,可以看到里面有行
A temporary password is generated for root@localhost: xxxxxxxx
localhost:后面的就是默认密码,复制这个密码即可登录
登录成功后必须重设密码,否则会一直提示下面这行错误。
You must reset your password using ALTER USER statement before executing this statement.
在启动mysql后输入以下命令,NEW PASSWORD为自己设置的密码
mysql> ALTER USER USER() IDENTIFIED BY ‘NEW PASSWORD';
1.性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争(“hot spot”热点竞争问题)工作负载。
2.NoSQL:MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。
3.窗口函数(Window Functions):从 MySQL 8.0 开始,新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。
4.隐藏索引:在 MySQL 8.0 中,索引可以被“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。
5.降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。
6.通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。
7.UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。
8.JSON:MySQL 8 大幅改进了对 JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。
9.可靠性:InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性,元数据存储在单个事务数据字典中。
10.高可用性(High Availability):InnoDB 集群为您的数据库提供集成的原生 HA 解决方案。
11.安全性:对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度、授权。
仅使用就地升级方法支持从MySQL 5.7升级到MySQL 8.0。
不支持从MySQL 8.0降级到MySQL 5.7(或从MySQL 8.0发布到以前的MySQL 8.0发行版)。唯一受支持的替代方法是在升级之前恢复备份 。
1.Hash Join
Hash Join 不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环算法更有效。
2.EXPLAIN ANALYZE
EXPLAIN ANALYZE 将运行查询,然后生成 EXPLAIN 输出,以及有关优化程序估计如何与实际执行相匹配的其他信息。
3.创建用户时可以随机生成密码
为 CREATE USER, ALTER USER和 SET PASSWORD语句添加了语法,以生成强随机密码,并将其作为结果返回给客户端。
添加的语法是:
CREATE USER user IDENTIFIED BY RANDOM PASSWORD,
ALTER USER user IDENTIFIED BY RANDOM PASSWORD,
SET PASSWORD [FOR user] TO RANDOM
4.群组复制
group_replication_exit_state_action 增加了 OFFLINE_MODE 模式,用于指定当服务器无意离开群组时群组复制的行为。
OFFLINE_MODE 行为将关闭所有连接,并禁止非 CONNECTION_ADMIN 或 SUPER 权限的用户建立新连接,否则它的行为类似于现有 READ_ONLY 模式。
5.innodb 增加一个空闲状态下控制写入 IOPs 的选项
该选项在 InnoDB 空闲时控制写 IOP。目的是减少写 IO,以延长闪存的寿命。
此外,还有很多内部细节的改进,详细请访问:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html
以上就是MySQL8.0.18新亮点和安装教程。MySQL 8.0.18带来很多功能,比如速度比MySQL 5.7快2倍。MySQL 8.0.18版本安装和以前的版本差不多,需要先下载文件、解压,接下来是配置环境和文件,最后是初始化、安装服务和启动密码。MySQL 8.0.18安装过程比较麻烦,但是MySQL 8.0.18功能很强,值得安装。关注教程之家,解锁更多软件教程。