Error number: 3828; Symbol: ER_CANNOT_SET_TABLESPACE_ENCRYPTION; SQLSTATE: HY000
Message: Tablespace encryption differ from ‘default_table_encryption’ setting, and user doesn’t have enough privilege.
错误说明
ER_CANNOT_SET_TABLESPACE_ENCRYPTION (3828) 错误表明MySQL报错,表明 MySQL 不能设置表空间加密。通常发生在使用 ALTER TABLE 命令给指定表设置表空间加密时.
常见案例
ER_CANNOT_SET_TABLESPACE_ENCRYPTION 错误通常发生在生产服务器上使用ALTER TABLE命令实行表空间加密时。如下示例所示:
ALTER TABLE tbl_usr ENCRYPTION = 'Y’;
当执行这样的查询时,ER_CANNOT_SET_TABLESPACE_ENCRYPTION错误可能会产生:
ERROR 3828 (HY000): Cannot set encryption for table 'tbl_usr’.
解决方法
1. 首先,检查设置配置参数 “encryption_algorithm” 是否正确;
2. 将表空间加密所需的扩展模块加载;
3. 使用权限: GRANT ENCRYPTION ON TABLES tables_name;
4. 确保配置文件 ”my.cnf” 中 “encrypt_tmp_files” 参数的值设置为 ON。
5. 确保所有库的表空间定义也是加密的。