mysql5.7 版本新特性

mysql 5.7 版本新特性

mysql 服务功能增强

  • 数据库初始化方式变更
  • 支持为表增加计算列
  • 引入 json 列类型及相关函数

数据库初始化方式变更

  • mysql 5.7 之前
1
script/mysql_install_db  --datadir=/data/sql_data --user=mysql --basedir=/home/mysql
  • mysql 5.7 之后
1
bin/mysqld --initialize  --user=mysql  --basedir=/home/mysql --datadir=/home/mysql/data

支持为表增加计算列

  • 在 5.7 之前
    我们使用触发器来实现相关的功能或者通过创建视图的方式

  • 在 5.7 中
    可以直接支持增加列的方式

如下: 插入 c1,c3, 那么 c3 自动计算出来

1
create  table  t(id  int  auto_increment not null, c1 int ,c2 int ,c3 int as (c1+c2) , primary key(id))

引入 json 列类型及相关函数

  • 在 5.7 之前。

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

  • 在 5.7 中

增强了 json 类型存储,如 json_type(),json_object(),json_merge(),json_array() 等。

支持多源复制

innodb 引擎增强

  • 支持缓冲池大小在线变更
  • 增加 innodb_buffer_pool 导入导出功能
  • 支持为 innodb 表建立表空间

安全及管理方面增强

  • 不再支持 old_password 认证
  • 增加账号默认过期时间及加强了对账号的管理功能
  • 增加了 sys 管理数据库