MySQL 5.7新特性的学习

来源:互联网 发布:淘宝代销合同 编辑:程序博客网 时间:2024/05/15 12:00



环境:centos 6.5  mysql-5.7.12

1、mysql 5.7 安装数据初始化的变更

 之前:

使用scripts/mysql_install_db --datadir=/mysql/data  --user=mysql  --basedir=/mysql/mysql

之后:

bin/mysqld --initialize --user=mysql --basedir=/mysql/mysql  --datadir=/mysql/data


2、CREATE TABLE 和 ALTER TABLE语句中增加了计算列

语法:

col_name data_type [GENERATED  ALWAYS]   AS  (expression)

[VIRTUAL  |  STORED] [UNIQUE [KEY]] [COMMENT  comment]

[[NOT]  NULL]  [[PRIMARY]  KEY]

3、引入JSON列类型及相关函数

函数:例如json_type(),json_object(),json_merge()等

例子:

select json_array('a','b','c');

select json_object('key1',45,'key2','ceshi');

create table json_table(product json);


4、Replication相关增强

支持多源复制

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

在线变更复制方式--可以将基于日志点的复制方式 变为基于gtid的复制方式或是将基于gtid的复制方式变为基于日志点的复制方式,而不需要重启服务器


5、InnoDB引擎的增强

支持在线变更innodb_buffer_pool大小-------之前需要更变my.cnf配置文件并重启数据库

增加innodb_buffer_pool导入导出功能

支持为innodb建立表空间

之前---具有系统表空间及可以为每个表建立一个独立的表空间

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

例子:



create  tablespace example add datafile  'example.ibd' engine=InnoDBcreate table example_table (id int primary key) tablespace example;


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

不在支持old_password认证

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

增加了sys管理数据库


0 0
原创粉丝点击