排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
MySQL的SQL语句 - 数据定义语句(7)- ALTER TABLESPACE 语句
MySQL的SQL语句 - 数据定义语句(7)- ALTER TABLESPACE 语句
林员外聊编程
2020-07-26
464
ALTER TABLESPACE 语句
此语句用于NDB和InnoDB表空间。它可用于向NDB表空间添加新数据文件,或从NDB表空间删除数据文件。它还可以用于重命名NDB集群磁盘数据表空间、重命名InnoDB 常规表空间、加密InnoDB常规表空间或将InnoDB undo表空间标记为活动或非活动。
MySQL 8.0.14中引入的UNDO关键字与SET {ACTIVE | INACTIVE}子句一起使用,将InnoDB UNDO表空间标记为活动或非活动。
ADD DATAFILE变量使我们能用INITIAL_SIZE子句为NDB磁盘数据表空间指定初始大小,其中大小以字节为单位;默认值为134217728(128mb)。可以选择在大小后面加上表示数量级的一个字母缩写,类似于my.cnf中所用的。 通常,这是字母M(兆字节)或G(千兆字节)之一。
在32位系统上,INITIAL_SIZE支持的最大值为4294967296(4 GB)。
INITIAL_SIZE在CREATE TABLESPACE语句中显式四舍五入。
一旦创建了数据文件,就不能更改其大小;但是,可以使用ALTER TABLESPACE ... ADD DATAFILE语句向NDB表空间添加更多的数据文件。
当ALTER TABLESPACE ... ADD DATAFILE与ENGINE = NDB一起使用,在每个集群数据节点上创建一个数据文件,但在INFORMATION_SCHEMA.FILES表中只生成一行记录。InnoDB表空间不支持ADD DATAFILE。
在ALTER TABLESPACE中使用DROP DATAFILE可以从NDB表空间中删除数据文件'file_name'。不能从任何表正在使用的表空间中删除数据文件;换句话说,数据文件必须为空。此外,任何要删除的数据文件都必须事先使用CREATE TABLESPACE或ALTER TABLESPACE添加到表空间中。InnoDB表空间不支持DROP DATAFILE。
WAIT被解析,但被忽略。它是为将来的扩展而设计的。
指定表空间使用的存储引擎的ENGINE子句已弃用,会在将来的版本中删除。数据字典知道表空间存储引擎,这使得ENGINE子句没用了。如果指定了存储引擎,则它必须与数据字典中定义的表空间存储引擎匹配。与NDB表空间兼容的引擎名的唯一值是NDB和NDBCLUSTER。
RENAME TO操作在自动提交模式下隐式执行,而与自动提交设置无关。
当LOCK TABLES或者FLUSH TABLES WITH READ LOCK对驻留在表空间中的表生效时,无法执行RENAME TO操作。
在重命名表空间时,对驻留在常规表空间中的表采用排他元数据锁,这可以防止并发DDL。支持并发DML。
重命名InnoDB通用表空间需要CREATE TABLESPACE权限。
ENCRYPTION子句为InnoDB通用表空间或mysql系统表空间启用禁用页级数据加密。MySQL 8.0.13引入了对通用表空间的加密支持。MySQL 8.0.16引入了对mysql系统表空间的加密支持。
在启用加密之前,必须安装和配置keyring插件。
从MySQL8.0.16开始,如果启用了table_encryption_privilege_check变量,要更改为与default_table_encryption不同的设置时,需要TABLE_ENCRYPTION_ADMIN权限来才能执行指定ENCRYPTION子句的通用表空间更改。
如果表空间中的任何表属于使用DEFAULT ENCRYPTION='N'定义的模式,则为通用表空间启用加密失败。类似地,如果通用表空间中的任何表属于使用DEFAULT ENCRYPTION='Y'定义的模式,则禁用加密失败。DEFAULT ENCRYPTION模式选项是在MySQL 8.0.16中引入的。
如果在通用表空间上执行的ALTER TABLESPACE语句不包含ENCRYPTION子句,则表空间将保留其当前的加密状态,不管default_table_encryption设置如何。
当通用表空间或mysql系统表空间被加密时,驻留在表空间中的所有表都将被加密。同样,在加密的表空间中创建的表是加密的。
当更改通用表空间或mysql系统表空间的ENCRYPTION属性时,将使用INPLACE算法。INPLACE算法允许在表空间中的表上执行并发DML操作,但是禁止并发DDL操作。
ENGINE_ATTRIBUTE选项(从MySQL 8.0.21起可用)用于指定主存储引擎的表空间属性。此选项保留供将来使用。
允许的值是包含有效JSON文档的字符串文本或空字符串('')。不接受无效的JSON。
ENGINE_ATTRIBUTE值可以重复,不会报错。在这种情况下,使用最后指定的值。
服务器不会检查ENGINE_ATTRIBUTE值,也不会在更改表的存储引擎时清除这些值。
不允许更改单个JSON属性的值。只能添加或替换属性。
ALTER VIEW 语句
此语句更改现存的视图定义。语法与CREATE VIEW的语法类似。此语句需要视图的CREATE VIEW和DROP权限,以及SELECT语句中引用的每个列的某些权限。ALTER VIEW只允许定义者或具有SET_USER_ID权限(或不推荐使用的SUPER权限)的用户使用。
官方文档:
https://dev.mysql.com/doc/refman/8.0/en/alter-tablespace.html
https://dev.mysql.com/doc/refman/8.0/en/alter-view.html
mysql
文章转载自
林员外聊编程
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨