mysql需要安装那些功能
最近,在一次演讲中,我介绍了MySQL 8.0的更新功能,我发现听众中的一个人感到非常沮丧。 我谈论一个功能越多,看到这个人就会越发激动。 我在想知道自己是否会担心自己的身体安全时感到沮丧。 最后那个有问题的人大声说:“如果我知道这一点,那将为我节省四个月的生命!”
随着2018年4月MySQL 8.0的发布,新功能的发布周期更改为每年四次。 因此,MySQL工程团队不必等待两到三年的新功能,而是可以为我们的用户提供稳定的更新。 部分原因是客户需要对网络上最流行的数据库的新方面进行需求,而这又是不断发展的软件工程过程的一部分。
但是令人遗憾的是,令我震惊的是,大多数人并没有坐在座位上等待MySQL产品发布。 因此,我想带您快速了解MySQL软件世界中以后的新增功能。
双密码
想象一下,企业安全性会提醒您更新“应用程序”上的密码(对于应用程序,我们的意思是需要编辑800条不同的代码段以删除旧密码并实施新密码)。 即使是最热心的Emacs粉丝也会努力地吞下并拒绝一次尝试所有这些操作。 为了救援! MySQL 8.0支持双重密码(一个当前密码和一个次要密码),以提供一种简便的方法来过渡到新密码。
ALTER
USER
'appuser1' @
'host1.example.com'
IDENTIFIED
BY
'password_b'
RETAIN
CURRENT PASSWORD;
现在,您可以轻松地更改密码,并且在更新所有代码后,只需删除旧密码即可。
ALTER
USER
'appuser1' @
'host1.example.com'
DISCARD
OLD PASSWORD;
您还可以让MySQL服务器为您的帐户生成一个随机密码,并为错误登录次数设置一个阈值,然后自动将该帐户锁定为可设置的时间限制。
JSON文档验证
修复存储在数据库中的不良数据要比首先保留不良数据难得多。 传统的关系数据库有一些方法可确保只将整数放入整数列中,并且有一些方法可确保数据在指定范围内。 但是,由于更加依赖MySQL本机JSON数据类型,直到最近,才有办法确保存在某些键/值,数据类型正确且在适当范围内。 多亏了JSON-Schema.org的人们,MySQL 8.0可以通过拒绝不良的JSON数据来帮助保持数据干净。
CREATE
TABLE testx
(
col JSON
,
CONSTRAINT myage_inRange
CHECK
( JSON_SCHEMA_VALID
( ’
{ “
TYPE ”: “object”
,
“properties”:
{
“myage”:
{
“
TYPE ” : “
NUMBER ”
,
“minimum”:
28
,
“maximum”:
99
}
}
, “required”:
[ “myage”
]
} ’
, col
)
=
1
)
) ;
有关如何将不良数据排除在数据库之外的示例:
mysql
>
INSERT
INTO testx
VALUES
( ’
{ “myage”:
27
} ’
) ;
ERROR
3819
( HY000
) :
CHECK
CONSTRAINT ‘myage_inRange’
IS violated
.
mysql
>
INSERT
INTO testx
VALUES
( ’
{ “myage”:
97
} ’
) ;
Query OK
,
1
ROW affected
(
0.02 sec
)
是的,约束检查现在可以与MySQL 8.0一起使用,而在过去它们被忽略了。
更好SQL支持
MySQL 8.0添加了通用表表达式(CTES),窗口函数,横向派生表,并支持TABLE运算符,以为我们的用户提供更强大,更强大的结构化查询语言。
数据字典
最大的变化是新的数据字典在幕后。 如果您曾经在/ var / lib / mysql下徘徊在以前的版本下,并且被无数的小文件所迷惑,那么您已经看到了实例的元数据。 现在,该元数据存储在数据库中的数据字典中。 因此,除了释放索引节点外,您现在可以在架构中拥有数百万个表。 不利的一面是,现在您可以在架构中拥有数百万个表。
新壳
内置的实用程序中包含一个并行的批量加载器,可以非常快速地导入CSV,TSV和JSON数据。 还有一个升级检查器,可以帮助您从MySQL 5.7更新到8.0,这将指出与保留字的冲突和其他潜在问题。
另外,还提供了大大扩展的帮助命令和命令完成功能。
只是略读变化的表面
这只是MySQL 8.0的许多更改中的一小部分。 有关完整列表,请参加2020年3月6日在帕萨迪纳举行的南加州Linux Expo(SCaLE)上的演讲。 请参阅我的博客文章以了解详细信息。
mysql需要安装那些功能

被折叠的 条评论
为什么被折叠?



