表加密功能采用加密算法保护数据库表的数据在磁盘上存储不被非法获取。加密的对象包括表文件、及表的 索引、辅助文件。以数据库表为粒度指定是否加密
支持函数和视图的方式判断表是否为加密表
sysencrypt.is_table_encrypted
函数
判断表是否加密,加密表返回
t
非加密表返回
f
SELECT sysencrypt
.
is_table_encrypted(
'tablename'
)
tablename
表的名字字符串,支持
schema.tablename
和
tablename
的方式,作为参数时使用单引号
包括。
sysencrypt.sys_table_encrypt
视图
显示数据库内的用户表加密状态
SELECT
*
FROM sysencrypt
.
sys_table_encrypt;
isencrypted
视图中的
isencrypted
字段显示表是否为加密表,加密表为
t
非加密表为
f
。
变更加密状态
ALTER
语法支持变更数据库表的加密状态。变更时可能会重新生成存储文件,当表数据量较大时需要占用
大量资源。
变更为加密
ALTER TABLE tablename ENCRYPTED;
变更为非加密
ALTER TABLE tablename NOT ENCRYPTED;
访问、删除加密表
加密表的访问方式
(DQL
、
DML)
和删除方式
(DROP)
与不受影响