Error number: 3187; Symbol: ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE; SQLSTATE: HY000
Message: Cannot alter encryption attribute by inplace algorithm.
错误说明:
ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE是MySQL服务器的一个错误编号,出现该错误表示用户尝试在使用加密表的当前块密码不匹配的情况下对表进行ALTER操作,但ALTER操作不支持在加密表上进行。
实际开发过程中,为了安全性有时会用到加密表,当用户使用错误的块密码对该加密表做ALTER操作时,会出现ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE错误编号。
解决方法:
ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE错误编号对用户来说,这个错误只要修改正确的块密码,就可以消除该错误,直接解决问题。
步骤:
1. 首先用ALTER命令修改要修改的表的当前块密码:
ALTER TABLE tbl_name ENCRYPTION_KEY = ‘新密钥’;
2. 然后重新尝试ALTER操作:
ALTER TABLE tbl_name …..;
3. 最后,使用正确的块密钥再次更新块密钥
ALTER TABLE tbl_name ENCRYPTION_KEY = ‘新密钥’;