开启了 TDE,app 连接并执行 select 一切正常。
但是无法 alter table t add column,用 DMS 一样不行,错误提示是:
Can't find master key from keyring, please check in the server log if a keyring plugin is loaded and initialized successfully.
这时候必须先 alter table t encryption='N' 然后才能 alter table t add column 然后再 alter table t encryption='Y'
但是这个操作明显不可持续。每次改 table 要全都解密再重新加密???
而且应该是阿里云问题,不然不会 DMS 操作也一样。
求解。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到您描述的问题,看起来是在使用透明数据加密(TDE)功能时尝试修改表结构遇到了障碍。阿里云RDS(关系型数据库服务)支持TDE以增强数据的安全性,但确实存在一些操作限制,比如在加密表上直接执行某些DDL操作可能会遇到挑战。
当您需要在已启用TDE的表上进行结构修改时,确实可能需要先临时关闭表的加密,完成DDL操作后再重新开启。虽然这个过程不够便捷,但这是由于加密机制本身的设计逻辑所决定的,旨在确保数据安全性和完整性。
不过,针对您的困扰,这里有一些建议和最佳实践可以考虑:
计划性维护窗口:如果可能的话,安排一个维护窗口,在此期间执行解密、DDL操作、再重新加密的过程。这样可以在控制影响范围的同时,处理表结构变更。
使用脚本自动化:编写SQL脚本或使用数据库管理工具来自动化这一系列操作(解密、DDL、重新加密),减少人工操作的复杂度和出错概率。
预先规划表结构:尽可能在设计阶段充分考虑未来可能的结构变化,减少对生产环境在线表结构的频繁调整。
咨询阿里云技术支持:如果这个问题对您的业务影响较大,建议直接联系阿里云的技术支持团队。他们可能会提供更具体的解决方案或者根据您的情况给出优化建议,甚至检查是否有未公开的更新或变通方法可以简化这一流程。
监控与日志分析:利用阿里云RDS提供的日志服务,深入分析报错信息,有时候错误提示中隐藏着解决问题的关键线索。
请记得,任何涉及数据库结构或安全设置的重大更改都应在测试环境中先行验证,并确保有完备的数据备份策略,以防不测。