MySQL是一个开源的小型关系数据库管理系统,由瑞典MySQL AB公司开发。目前,MySQL广泛应用于互联网上的中小型网站。由于其体积小、速度快、总拥有成本低,
尤其是因为开源,很多中小网站为了降低网站总拥有成本,选择MySQL作为网站数据库。
最近MySQL 8.0正式版发布,官方表示MySQL 8比MySQL 5.7快一倍,而且还带来了很多改进,性能更快!
注意:从MySQL 5.7升级到MySQL 8.0只支持使用就地模式升级。
并且不支持从MySQL 8.0降级到MySQL 5.7(或从MySQL 8.0版本降级到任何更早的MySQL 8.0版本)。唯一支持的替代方法是在升级前备份数据。
ps:本软件是免安装版,进入MySQL Sever,其目录下的文件如下:
MySQL常用的命令工具和管理工具保存在bin目录下,data目录是MySQL默认保存数据文件和日志文件的地方(我的因为刚安装所以没有data文件夹),docs目录是MySQL的帮助文档,include目录和lib目录是MySQL依赖的头文件和库文件,目录文件和日志文件保存在share目录下。
进入bin目录,按住shift键点击鼠标右键打开该目录下的命令窗口,或者在地址栏输入cmd进入命令窗口。输入mysql -u root -p并回车,然后会提示你输入密码。
输入密码后,会进入MySQL运营管理界面。
输入showdatabases(注意末尾有分号)可以在MySQL中查看数据库列表,输入use test;你可以进入测试数据库(前提是你有这个数据库)。
进入show tables查看测试数据库中的所有表格,进入quit退出MySQL的操作管理界面。
软件特色
1.性能:MySQL 8.0比MySQL 5.7快一倍。
MySQL 8.0在以下几个方面带来了更好的性能:读/写工作负载、IO密集型工作负载、高竞争(‘热点’竞争问题)工作负载。
2. NoSQL:MySQL从5.7版本开始提供NoSQL存储功能,这部分功能在8.0版本中也有了很大的提升。此功能消除了对单独的NoSQL文档数据库的需要。
MySQL文档存储还在无模式模式下为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发行版)。唯一受支持的替代方法是在升级之前恢复备份。
详细更新说明:https://www.skyyx.com/d/file/pic/20230417/news-8-0-11.html
官方发布说明:https://blogs.oracle.com/mysql/announcing-general-availability-of-mysql-80
MySQL 8 正式版的新增功能:https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/
MD5: 0b4efe256a28cd391bf057d4c61ade09
MySQL的特性
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
支持AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多种操作系统。
为多种编程语言提供了API。这些编程语言包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
支持多线程,充分利用CPU资源,支持多用户。
优化的SQL查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
提供用于管理、检查、优化数据库操作的管理工具。
可以处理拥有上千万条记录的大型数据库。
MySQL 8.0.21复制增强
2020年7月14日:组通信系统,组复制,高可用性,MySQL,MySQL复制,复制,XComLuis Soares
有一个新的MySQL 8.0版本,它具有一些有趣的复制功能。更改日志可以从通常的位置MySQL 8.0.21获得,但让我给您一个简短的摘要。
组复制的二进制日志校验和支持(WL9038)。 Nuno Carvalho所做的这项工作实现了对组复制中二进制日志校验和的支持。因此,用户现在可以在打开二进制日志校验和的情况下使用组复制。
指定组复制中的哪些端点恢复通信流(WL13767)。由Anibal Pinto实现的此功能允许用户指定施主服务器应将哪些端点作为连接者通告连接到的端点,以提取二进制日志以进行恢复。
将相关组复制信息日志消息重新分类为系统消息(WL13769)。 Nuno Carvalho所做的这项工作使某些与组复制相关的消息始终输出到错误日志。具体来说,
始终会发出与成员资格生命周期相关的日志消息。它们现在被分类为系统消息。
START GROUP_REPLICATION现在可以将恢复凭据作为参数(WL13768)。
Jaideep Karande所做的这项工作允许用户通过START GROUP_REPLICATION语句指定恢复凭证。
除了新功能外,我们还对默认值进行了一些更改:
增加了默认的group_replication_member_expel_timeout(WL13773)。 Pedro Ribeiro完成的这项工作将在组复制中将此变量的默认值设置为5,
而不是0(秒)。这意味着默认情况下,系统将容忍持续10秒钟的瞬态网络故障(5秒以确认可疑,再加上5秒钟等待驱逐)。因此,如果这段时间过去了,并且服务器“ S”仍然无法访问,则服务器“ S”将被驱逐。
增加了默认的group_replication_autorejoin_tries(WL13706)。 Parveez Baig的这项工作更改了“组复制”中自动重新加入框架的默认设置。默认情况下,
它以前是不活动的(它设置为0)。使用新的默认值(3),只要解析了网络分区,等待解析并最终在该过程中被驱逐的成员将自动尝试重新加入群集,而不管他们等待分区多长时间。解决自己。
除了更改几个“组复制”变量的默认设置外,我们还放宽了现有变量的限制:
减小了group_replication_message_cache_size(WL13979)的下界。
Luis Soares的这项工作可以将XCom消息缓存的最大限制设置为低至128MB的值(以前的下限为1GB)。
最后,我们对Paxos内核进行了一些内部增强:
XCom的重构和代码增强。 Ole-Hjalmar Kristensen的这项工作重构了一些XCom内部结构,并修复了一些小错误。
故障检测的增强。 Tiago Jorge和Tiago Vale的这项工作介绍了几个重要的修复方法,这些方法可在处理可能导致非对称故障检测的瞬态故障或网络断开时降低熵。
将XCom编译为C ++(WL13842)。 Tiago vale的这项工作重构了XCom的一些内部结构,并使使用C ++构建XCom更加容易。
这次是一些稍长的增强功能和其他值得注意的列表。
8.0.18版本亮点
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://www.skyyx.com/d/file/pic/20230417/news-8-0-18.html
-
可以插原神人物的游戏手游 2023-04-18
-
仙剑奇侠传4结局官方解释?仙剑四结局深度解析 2023-04-18
-
lpl各战队主场城市 2023-04-18
-
魔兽世界怀旧服锻造分支怎么选择60年代分支选择推荐 2023-04-18
-
仙剑奇侠传4演员表曝光(仙剑奇侠传4人物详细信息) 2023-04-18
-
仙剑奇侠传4演员名单(仙剑奇侠传4四大主角) 2023-04-18