0
点赞
收藏
分享

微信扫一扫

MySQL5.7的新特性

一、MySQL5.7的新特性

  一、MySQL服务功能增强

  1、数据库初始化方式变更

  2、支持为表增加计算列

  实操:https://www.jianshu.com/p/2d3a6a5d296b

    1、MySQL5.7之前

  需要使用触发器实现相关功能

    2、MySQL5.7之后

  在CREATE TABLE及ALTER TABLE语句中支持增加计算列的方式

col_name data_type [GENETATED ALWAYS] AS (expression) [VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment] [[NOT] NULL] [PRIMARY] key]

  3、引用json列类型及相关函数

    1、MySQL5.7之前

  只能在varchar或是text等字符类型的列中存储json类型的字符串,并通过程序解析使用json字符串

    2、MySQL5.7之后

  增加了json列类型及以json_开头的相关处理函数,如json_type(),json_object(),json_merge()等。

  二、Replication相关增强

  1、支持多源复制

  单源复制

  

MySQL5.7的新特性_数据库

  多源复制

  

MySQL5.7的新特性_mysql_02

  2、基于库或是逻辑锁的多线程复制

    1、MySQL5.7之前

  从MySQL5.6开始支持多线程复制,只不过是对每一库一个复制线程

    2、MySQL5.7之后

  MySQL5.7后多线程复制功能进行了加强,增加了slave_parallel_type参数胡可以控制并发同步时基于database还是logical_clock

  3、在线变更复制方式

    1、MySQL5.7之前

  要把基于日志点的复制方式变为基于gtid的复制方式或是把基于gtid的复制方式变为基于日志点的复制方式必须要重启master服务器

    2、MySQL5.7之后

   允许在线变列复制的方式,而不用重启master服务器

   在线变更复制方式的步骤:

  

MySQL5.7的新特性_服务器_03

  三、Innodb引擎增强

  1、支持缓冲池大小innodb_buffer_pool在线变更

    1、MySQL5.7之前

  要变更innodb_buffer_pool大小必须更改my.cnf文件后重启数据服务器

    2、MySQL5.7之后

  innodb_buffer_pool_size参数变为动态参数,可以在线调整innodb缓存池的大小

 

  2、增加innodb_buffer_pool导入导出功能

  MySQL5.7之后增加了以下参数控制innodb_buffer_pool的导入导出

innodb_buffer_pool_dump_pct
innodb_buffer_pool_dump_now
innodb_buffer_pool_dump_at_shutdown
innodb_buffer_pool_load_at_startup
innodb_buffer_pool_load_now

  3、支持为innodb表建立表空间

    1、MySQL5.7之前

  具有系统变空间及可以为每个表简历一个独立表空间

    2、MySQL5.7之后

  支持CREATE TABLESPACE语法为一个表或多个表建立共用的表空间

  四、安全及管理方面的增强

  1、不在支持old_password认证

  2、增加账号默认过期时间及加强了对账号的管理功能

  

MySQL5.7的新特性_数据库_04

  3、增加了sys管理数据库



举报

相关推荐

0 条评论