转自

关于MySQL .0的几个重点,都在这里

https://mp.weixin.qq.com/s/QUpk9uuS2JTli1GT6HuORA

一、关于MySQL Server的改进

1.1 redo log 重构 

在MySQL8.0中重新设计了redo log,主要改进fsync,使得效率更高,减少锁,优化flush机制,不会频繁flush。同时,支持更高用户并发请求。

http://dimitrik.free.fr/blog/archives/2017/10/mysql-performance-80-redesigned-redo-log-readwrite-workloads-scalability.html

1.2 MySQL DDL 

在MySQL8.0中实现了DDL的原子性。

https://mysqlserverteam.com/atomic-ddl-in-mysql-8-0/

1.3 直方图 

在MySQL8.0中添加了直方图的概念,用于索引的统计和分析。

https://mysqlserverteam.com/histogram-statistics-in-mysql/

1.4 降序索引 

MySQL 8.0 开始提供按降序啦~

https://dev.mysql.com/doc/refman/8.0/en/descending-indexes.html

1.5 隐藏索引 

MySQL8.0支持隐藏索引,在对索引的添加和修改,可以通过隐藏索引来实现,方便了索引的管理。

https://dev.mysql.com/doc/refman/8.0/en/invisible-indexes.html

1.6 临时表的改进 

在5.7以来,所有内部临时表成为"ibtmp1"的共享表空间。此外临时表的元数据也存储在内存中。

在MySQL8.0中,MEMORY存储引擎也将被TempTable存储引擎替换为内部临时表的默认存储引擎。这个新引擎VARCHAR和VARBINARY列提供更高效的存储空间。

https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html

1.7 持久的全局变量 

MySQL8.0通过新语法restart,使下次重启仍然生效。

http://lefred.be/content/mysql-8-0-changing-configuration-easily-and-cloud-friendly/

1.8 redo和undo的加密 

在MysQL 5.7中,可以为每个表的表空间进行加密。而在MySQL8.0中,还可以为UNDO和REDO LOG进行加密,从而提高了MySQL的安全性。

https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace-encryption.html#innodb-tablespace-encryption-redo-log

1.9 Innodb 锁的修改 

在SQL里添加参数FOR UPDATE NOWAIT和FOR UPDATE SKIP LOCKED,可以设置跳过锁的等待,或者跳过锁定。

https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html#innodb-locking-reads-nowait-skip-locked

1.10 窗口函数 

在MySQL8.0中,添加了窗口函数,它可以用来实现若干新的查询方式,以便更好地用于数据统计和分析。

http://elephantdolphin.blogspot.com/2017/09/mysql-8s-windowing-function-part-1.html

1.11 新的优化器 

在MySQL 8.0.3中,引入了新的优化器SET_VAR,用于在SQL中指定参数配置。

https://mysqlserverteam.com/new-optimizer-hint-for-changing-the-session-system-variable/

1.12 角色 

在MySQL8.0中,添加了角色的功能。更方便了用户的管理

http://datacharmer.blogspot.com/2017/09/revisiting-roles-in-mysql-80.html

1.13 字符集的修改 

在MySQL8.0.1中,MySQL支持了Unicode 9.0,并且修改了默认字符集为utf8mb4

http://lefred.be/content/mysql-clients-and-emojis/

二、关于MySQL 复制的改进

2.1 复制方面修改 

在MySQL8.0.3中,关于binlog和复制方面的新的改变。

http://datacharmer.blogspot.com/2017/09/revisiting-roles-in-mysql-80.html

2.2 更高效json复制 

在MySQL8.0.3中,关于JSON复制更高效,并提供了新的json功能。在binlog中只记录了update修改的内容,而不是全部记录。

https://mysqlhighavailability.com/efficient-json-replication-in-mysql-8-0/

2.3 复制增强 

在MySQL8.0.3中,关于对复制的默认参数的修改、对组复制,都增加了“动态跟踪、调试日志”等更多性能方面的监控工具。

https://mysqlhighavailability.com/replication-features-in-mysql-8-0-3/

2.4 MySQL 复制新功能 

在MySQL8.0中,对于复制的改进,增加了可观察性,提供了复制的效率(基于WRITESET的并行复制)。

https://mysqlhighavailability.com/mysql-8-0-new-features-in-replication/

三、关于MySQL MGR的改进

3.1 组复制白名单的支持

在MySQL8.0.4 中,对组复制白名单的支持,有效地提高了组复制的安全性。

https://mysqlhighavailability.com/hostname-support-in-group-replication-whitelist/

3.2 MySQL INNODB Cluster 新功能 

在MySQL INNODB Cluster 新增加的功能:

https://mysqlserverteam.com/mysql-innodb-cluster-whats-new-in-the-8-0-ga-release/

3.3 MySQL MGR的监控 

提高了MySQL组复制的可观察性和可管理性,并在MySQL8.0.4中增强了相关工具。

https://mysqlhighavailability.com/more-p_s-instrumentation-for-group-replication/

四、关于MySQL bug修复

4.1 自增列bug修复(199) 

在MySQL8.0 关于自增列的bug的修复。不再采用max(自增id)+1的做法来确定下一个自增id。

http://lefred.be/content/bye-bye-bug-199/

关于MySQL 8.0的几个重点【转】的更多相关文章

  1. 基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装和配置元数据库 1>. ...

  2. MySQL 8.0权限认证(上)

    MySQL 8.0授权认证   一.系统权限表   user 存放用户账户信息以及全局级别(所有数据库)权限,决定了来自哪些主机的哪些用户可以访问数据库实例,如果有全局权限则意味着对所有数据库都有此权 ...

  3. Doris开发手记1:解决蛋疼的MySQL 8.0连接问题

    笔者作为Apache Doris的开发者,平时感觉相关Doris的文章写的很少.主要是很多时候不知道应该去记录一些怎么样的问题,感觉写的不好就会很慌张.新的一年,希望记录自己在Doris开发过程之中所 ...

  4. mysql 5.0.46安装配置

    http://os.chinaunix.net/a2008/0801/986/000000986346.shtml RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置(pref ...

  5. RedHat下apache\ftp\mysql 4.0 的安装方法

    RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm ...

  6. MySQL 8.0.0 版本发布,亮点都在这了!

    导读 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开 ...

  7. Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://127.0.0.1:3306/test'

    原来的配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...

  8. MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine

    MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine The MEMORY (HEAP) Stora ...

  9. MySQL 6.0安装图解

    MySQL 6.0安装图解 由于免费,MySQL数据库在项目中用的越来越广泛,而且它的安全性能也特别高,不亚于oracle这样的大型数据库软件.可以简单的说,在一些中小型的项目中,使用MySQL ,P ...

随机推荐

  1. WinRM不起作用 Connecting to remote server failed with the following error message : WinRM cannot complete the operation

    当我运行下面的 powershell  脚本时: $FarmAcct = 'domain\user'  $secPassword = ConvertTo-SecureString 'aaa' -AsP ...

  2. 洛谷 P3297 [SDOI2013]逃考 解题报告

    P3297 [SDOI2013]逃考 题意 给一个平面矩形,里面有一些有标号点,有一个是人物点,人物点会被最近的其他点控制,人物点要走出矩形,求人物点最少被几个点控制过. 保证一开始只被一个点控制,没 ...

  3. Logstash解析Json array

    logstash解析json数组是一种常见的需求,我以网上一组数据为例来描述 我们的数据test.json内容如下:(此处我linux上的json文本需要是compact的) {"type& ...

  4. codeblocks下的汇编语言

    Debug->Debugging windows->Disassembly F4+F7 每条语句的调试,查看变量 可以通过两者的比较来互相学习 1.通过查看汇编代码学习c如何改进,减少代码 ...

  5. Linux:从文件中搜索关键字并显示行数(cat,grep函数)

    假如有test1.txt的格式如下图所示: 有test2.txt的内容如下: 现需将test2.txt含有的关键字的行搜索出来并显示行数 则可以用到命令: cat test1.txt | grep - ...

  6. powerdesigner 字段添加注释和默认值

    powerdesigner 字段添加注释和默认值 2017年01月06日 10:59:02 qingzhuoran 阅读数:27161更多 个人分类: powerdesigner   1.选中表,右键 ...

  7. 在Windows上部署dubbo-admin(监控中心)

    在Windows上部署dubbo-admin(监控中心) 2018年11月12日 22:45:13 zzz_er 阅读数:1004 标签: dubbo 更多 个人分类: dubbo   版权声明:本文 ...

  8. mac 终端输入带空格的路径 cd

    mac 在终端如何进入名称带空格的目录? 后来找到原因,是因为要对空格转义或者输入“ ”或‘ ’,方案如下: 1. cd Appications/Android\Studio.app/sdk  这个好 ...

  9. teleport使用说明

          teleport使用说明 浏览器下载网页:只能浏览主页和少数网页,其它不能浏览,容量几百kb teleport下载项目一能完全离线看网页,7328多文件 9个JPG文件,大小134M te ...

  10. Hadoop生态圈-基于yum源的方式部署Cloudera Manager5.15.1

    Hadoop生态圈-基于yum源的方式部署Cloudera Manager5.15.1 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我之前分享过关于离线方式部署Cloudera ...