加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL5.7新增了什么新特征

发布时间:2022-01-19 19:28:15 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍MySQL5.7新增了什么新特性,在日常操作中,相信很多人在MySQL5.7新增了什么新特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答MySQL5.7新增了什么新特性的疑惑有所帮助!接下来,请跟着小编一起来学习
       这篇文章主要介绍“MySQL5.7新增了什么新特性”,在日常操作中,相信很多人在MySQL5.7新增了什么新特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL5.7新增了什么新特性”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
 
新增特性
 
Security improvements.
      MySQL.user表新增plugin列,且若某账户该字段值为空则账户不能使用。从低版本MySQL升级至MySQL5.7时要注意该问题,且建议DBA将使用mysql_old_password插件的账户替换为使用 mysql_native_password插件。
 
数据库管理员可以制定账户密码自动过期策略,密码过期后必须强制进行更改。(http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html)
 
数据库管理员可以锁定/解锁账户来进行更好的登录控制,对应的,mysql.user表中新增account_locked列来表示锁定状态。版本升级过程中要注意该问题。(http://dev.mysql.com/doc/refman/5.7/en/account-locking.html)
 
MySQL Server可以自动创建SSL、RSA证书和Key文件来支持安全连接,前提是Server用OpenSSL编译(http://dev.mysql.com/doc/refman/5.7/en/creating-ssl-rsa-files-using-mysql.html)
 
MySQL默认的部署策略发生了变化,变得更加安全。mysql_install_db 弃用了,改用emysqld加-initialize或–initialize-insecure选项来初始化数据目录。使用-initialize时,默认只创建’root’@’localhost’账户并产生随机密码、设置密码过期,保存于error log,初次登录需使用密码并改变密码。不再创建匿名账户和test数据库。(http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html、http://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html)
 
SQL mode changes.
默认开启STRICT_TRANS_TABLES SQL mode。
ONLY_FULL_GROUP_BY SQL mode的实现更加精细,且默认开启。 ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE和NO_ZERO_IN_DATE默认开启(将来可能包含进strict SQL mode,而移除这些单独的模式),也即目前默认的SQL mode为: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER和 NO_ENGINE_SUBSTITUTION. (http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-changes)
 
InnoDB enhancements.
VARCHAR 大小可通过 ALTER TABLE语句进行原地(in place)修改,而无需table-copy。如:ALTER TABLE t1 ALGORITHM=INPLACE, CHANGE COLUMN c1 c1 VARCHAR(255);但存在限制,即只支持0~255字节内的或者255以上字节间的增加,也就是说若从254增到256时不能使用INPLACE算法,必须使用COPY算法,否侧报错.这是因为0~255内的VARCHAR值需要一个额外的字节来编码,而256以上的VARCHAR值需要两个字节来编码。另外使用INPLACE算法缩小VARCHAR的ALTER TABLE也是不支持的,必须用COPY算法。
 
InnoDB临时表的DDL性能提升。
 
InnoDB临时表元数据不再存储于InnoDB系统表而是存储在INNODB_TEMP_TABLE_INFO,包含所有用户和系统创建的临时表信息。该表在第一次在其上运行select时被创建。
 
InnoDB现在支持MySQL-supported空间数据类型。也即,之前的空间数据是以binary BLOB数据存储的,现在空间数据类型被映射到了一个InnoDB内部数据类型DATA_GEOMETRY.
 
对于non-compressed InnoDB临时表有独立的表空间,表空间在每次服务器重启时于默认的DATADIR中被重建,可通过innodb_temp_data_file_path选项指定其他路径。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读