最近更新时间:2026-07-03 22:52:46
MySQL 的透明数据加密(Transparent Data Encryption,TDE)是一种对数据库存储数据进行实时加密的安全能力,可对数据文件进行自动加密,并在读取数据时自动完成解密,无需修改业务代码即可提升数据安全性。开启透明数据加密后,数据库实例中的数据文件将受到加密保护,有效降低因磁盘、备份介质泄露等导致的数据泄露风险。
开启透明数据加密前,请确认 MySQL 实例系列和版本:
支持版本:MySQL 5.7(暂不支持,敬请期待)、MySQL 8.0
透明数据加密只支持最新 MySQL 小版本 8.0.34.2,请升级至最新小版本后再进行开启。
实例类型:高可用、单机版。
读写类型:主实例、只读实例、临时实例。
存储类型:本地盘、云盘或专属集群。
TDE 加密功能暂不支持Serverless 使用。
透明数据加密功能当前存在以下限制:
透明数据加密功能开启后不可关闭。
已开启透明数据加密的实例暂不支持将备份中的库表恢复至本实例。
开启透明数据加密后,需对需要加密或解密的表执行对应 DDL 操作,数据才会完成加密或解密。
在实例列表中,选择目标实例,进入其详情页。
在导航栏中,点击 数据安全 菜单。
在数据安全页面顶部,选中 TDE 页签。
点击 TDE 配置 中的滑动开关,出现开启 TDE 弹窗,点击确定后,系统开始执行透明数据加密开通操作,实例进入 TDE 配置中 状态。
开启完成后,TDE 状态 显示为 已开通(开通后不可关闭)。
开启透明数据加密后,仅开启实例能力,并不会立即完成已有表的数据加密。
如需对已有数据进行加密或解密,需要执行对应的 DDL 语句。
加密表
ALTER TABLE table_name ENCRYPTION='Y';
例如:
ALTER TABLE t ENCRYPTION='Y';
解密表
ALTER TABLE table_name ENCRYPTION='N';
例如:
ALTER TABLE t ENCRYPTION='N';
说明:
ENCRYPTION='Y' 表示开启该表的数据加密。
ENCRYPTION='N' 表示取消该表的数据加密。
执行 DDL 操作期间可能产生锁表或性能影响,建议在业务低峰期执行。
当主实例绑定只读实例时,若为主实例开启透明数据加密,关联的全部只读实例将自动同步开启透明数据加密。
已开启透明数据加密的实例,通过备份恢复至新实例、临时实例或原实例时,目标实例将自动启用透明数据加密。
已开启透明数据加密的实例,暂不支持将备份中的库表恢复至本实例。
透明数据加密开启后不可关闭,请确认业务需求后再执行开通操作。
纯净模式
