MySQL 8.0.3 RC版即将发布,让我们来看看有哪些变化吧!

MySQL 8.0.3 即将发布 RC 版本,发布这预示着 8.0 版本离 GA 越来越近了。让们

下面分享一下 8.0.3 版本的有变一些重要新特性、新变化:

直接废除 query cache(应该只是发布关闭入口,自行编译源码的让们话,还能再次启用) 查询优化器支持直接在 SQL 中利用 SET_VAR 这个 HINT 语法修改某些会话级的有变选项,比如:- SELECT /*+ SET_VAR(sort_buffer_size = 16M) */ name FROM people ORDER BY name;- INSERT /*+ SET_VAR(foreign_key_checks=OFF) */ INTO t2 VALUES(2); (这个功能超级实用啊,发布直接在 SQL 内可以修改了,让们都不用再写一个 SQL,有变而且还担心会影响别人) 查询优化器现在支持将各个列统计结果直方图存储在 column_statistics 数据字典中,发布以便构造执行计划。让们有了这个直方图,有变就可用于该列和常量的发布比较判断 查询优化器中新增标记位 use_invisible_indexes,用于控制在构造执行计划时是让们否考虑不可见索引(invisible indexes)因素 InnoDB 新增备份专用锁,以前 InnoDB 表在线热备时若同时进行 DML 可能导致 InnoDB 文件的有变快照不一致,有了这个备份锁就不用担心了。备份锁用法是 LOCK INSTANCE FOR BACKUP、UNLOCK INSTANCE,需要有 BACKUP_ADMIN 权限 InnoDB 现在支持表 DDL 的原子性,也就是高防服务器 InnoDB 表上的 DDL 也可以实现事务完整性了,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性(这个功能大赞啊) 若是延迟初始化组复制(GR,Group Replication),也就是在 single-primary 模式下,辅助节点上可以通过异步复制通道写入数据,这在正常初始化组复制插件时是不允许的(Bug #26314756,这是个内部 BUG ID,我们看不到的,别费劲了。不过还有***的 github 啊,也能看到相关描述,参见:https://github.com/mysql/mysql-server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d) 系统库 INFORMATION_SCHEMA 中的 FILES、PARTITIONS、REFERENTIAL_CONSTRAINTS 等几个视图被重新实现了一番(这个没说太具体,可能和所有的免费源码下载 DDL 都放入 InnoDB 有关系,不再使用 FRM 文件存储 DDL 信息) 由于外键约束锁功能改造,涉及到外键约束的父表上的列改名功能将暂时被禁用一段时间(估计过几个小版本就能正常用了) InnoDB 通用表空间新增改名语法:ALTER TABLESPACE … RENAME TO(作为 MySQL DBA,貌似没什么人玩通用表空间,可能从 Oracle DBA 转过来更习惯使用吧) MySQL 复制的 slave 节点上,log_slave_updates 选项默认值改为 ON(这个也是比较实用,方便将该 slave 直接作为中继节点使用) 选项 sql_log_bin 的全局作用域被改成回话级作用域,也就是修改本选项只影响本会话,不再影响全局(这个选项一般也是在会话级使用) 选项 max_allowed_packet 的默认值从 4M 提高到 64M(这个貌似比较实在) 选项 event_scheduler 的默认值由 OFF 改成 ON,使得默认启用 event scheduler 功能(我觉得 event 功能挺好的呀,不过貌似没几个人使用 event) 选项 max_error_count 的默认值从 64 提高到 1024(没感觉的说) ***一个,utf8mb4 字符集增加俄语的校验集(新增 utf8mb4_ru_0900_ai_ci、utf8mb4_ru_0900_as_cs 两种 collations set)

一起期待 8.0.3 的发布吧! 

人工智能
上一篇:你曾经考虑过 在 Ubuntu 中管理开机启动应用 吗?假如在开机时,你的 Ubuntu 系统启动得非常缓慢,那么你就需要考虑这个问题了。每当你开机进入一个操作系统,一系列的应用将会自动启动。这些应用被称为‘开机启动应用’ 或‘开机启动程序’。随着时间的推移,当你在系统中安装了足够多的应用时,你将发现有太多的‘开机启动应用’在开机时自动地启动了,它们吃掉了很多的系统资源,并将你的系统拖慢。这可能会让你感觉卡顿,我想这种情况并不是你想要的。让 Ubuntu 变得更快的方法之一是对这些开机启动应用进行控制。 Ubuntu 为你提供了一个 GUI 工具来让你找到这些开机启动应用,然后完全禁止或延迟它们的启动,这样就可以不让每个应用在开机时同时运行。在该文中,我们将看到 在 Ubuntu 中,如何控制开机启动应用,如何让一个应用在开机时启动以及如何发现隐藏的开机启动应用。这里提供的指导对所有的 Ubuntu 版本均适用,例如 Ubuntu 12.04, Ubuntu 14.04 和 Ubuntu 15.04。在 Ubuntu 中管理开机启动应用点击它来启动。下面是我的Startup Applications的样子:在 Ubuntu 中移除开机启动应用要将一个程序从开机启动程序列表中移除,选择对应的选项然后从窗口右边的面板中点击移除按钮来保留你的偏好设置。需要提醒的是,这并不会将该程序卸载掉,只是让该程序不再在每次开机时自动启动。你可以对所有你不喜欢的程序做类似的处理。让开机启动程序延迟启动这将展示出运行这个特定的程序所需的命令。保存并关闭设置。你将在下一次启动时看到效果。增添一个程序到开机启动应用列表中这将展示出在各种类别下你安装的所有程序。在 Ubuntu 的低版本中,你将看到一个相似的菜单,通过它来选择并运行应用。在各种类别下找到你找寻的应用,然后点击 属性 按钮来查看运行该应用所需的命令。例如,我想在开机时运行 Transmission Torrent 客户端。这就会向我给出运行 Transmission 应用的命令:接着,我将用相同的信息来将 Transmission 应用添加到开机启动列表中。第 2 步: 添加一个程序到开机启动列表中就这样,你将在下一次开机时看到这个程序会自动运行。这就是在 Ubuntu 中你能做的关于开机启动应用的所有事情。到现在为止,我们已经讨论在开机时可见到的应用,但仍有更多的服务,守护进程和程序并不在开机启动应用工具中可见。下一节中,我们将看到如何在 Ubuntu 中查看这些隐藏的开机启动程序。在 Ubuntu 中查看隐藏的开机启动程序复制代码代码如下:你可以像先前我们讨论的那样管理这些开机启动应用。我希望这篇教程可以帮助你在 Ubuntu 中控制开机启动程序。任何的问题或建议总是欢迎的。修改开机启动等待时间查看并修改配置文件 复制代码代码如下:复制代码代码如下:复制代码代码如下:我们可以将等待时间修改为自己想要的了。如:复制代码代码如下:
下一篇:探究以磊科Power4的性能与优势(领先技术应用的移动供电利器)