当前位置: 首页 >数据库 > mysql8新特性(一)

mysql8新特性(一)

https://www.oschina.net/news/95325/mysql-8-0-ga-released 

http://blog.itpub.net/28218939/viewspace-2154297/

 

 

 

 

分区表的MySQL版本升级:

 

目前MySQL 8.0 只有InnoDB存储引擎支持分区表,如果使用其他存储引擎创建分区表,将会报错。如果在5.7及之前的版本里使用非InnoDB的分区表,不支持直接升级到8.0版本,需要先转换成InnoDB表,或者删除分区,然后才能升级到8.0版本。

 

 

权限管理:

默认密码认证插件

MySQL 8.0.4 版本修改了默认的身份认证插件,从老的mysql_native_password插件变为新的caching_sha2_password,并将其作为默认的身份认证机制,同时客户端对应的libmysqlclient也默认使用新的认证插件。

 

系统表更换为InnoDB引擎

系统表全部换成事务型的innodb表,默认的MySQL实例将不包含任何MyISAM表,除非手动创建MyISAM表。

 DDL原子化

InnoDB表的DDL支持事务完整性,要么成功要么回滚,将DDL操作回滚日志写入到data dictionary 数据字典表 mysql.innodb_ddl_log 中用于回滚操作,该表是隐藏的表,通过show tables无法看到。通过设置参数,可将ddl操作日志打印输出到mysql错误日志中。mysql> set global log_error_verbosity=3;mysql> set global innodb_print_ddl_logs=1;MySQL5.7执行drop命令 drop table t1,t2; 如果t1存在,t2不存在,会提示t2表不存在,但是t1表仍然会被删除。MySQL8.0执行同样的drop命令,会提示t2表不存在,而且t1表不会被删除,保证了原子性。ddl操作(针对表)的原子性前提是该表使用的存储引擎是InnoDB

 

 

自增列持久化

解决了之前的版本,主键重复的问题。

MySQL5.7及其以前的版本,MySQL服务器重启,会重新扫描表的主键最大值,如果之前已经删除过id=100的数据,但是表中当前记录的最大值如果是99,那么经过扫描,下一条记录的id是100,而不是101。
  
MySQL8.0则是每次在变化的时候,都会将自增计数器的最大值写入redo log,同时在每次检查点将其写入引擎私有的系统表。则不会出现自增主键重复的问题。

###############################

 mysql8新特性(一) _ JavaClub全栈架构师技术笔记

 

########################

作者:igoodful
来源链接:https://www.cnblogs.com/igoodful/p/9189883.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/117828.html

标签:MySQL升级
分享给朋友:

“mysql8新特性(一)” 的相关文章

MySQL数据库(基础) 2022年05月16日 21:54:19
MySQL事务和锁 2022年05月16日 21:54:37
利用Oracle分析函数row 2022年06月03日 23:42:05
Oracle SQL 2022年06月05日 03:43:59
mysql之基础查询 2022年06月06日 00:56:31
mysql 查询数据库内存大小 2022年06月06日 11:11:26
mysql 查询1小时内 2022年06月06日 12:59:30