我在Maria DB 10.1.8(https://mariadb.com/kb/en/mariadb/data-at-rest-encryption/)上设置了表级InnoDB数据库加密。
我想知道是否有任何方法可以确认数据是否真正加密。我已经尝试在表格中搜索/ var / lib / mysql / ibdata1中的样本数据,但我不知道这是否是可靠的测试。
答案 0 :(得分:5)
我在mariadb.com上发布了这个问题,并且有人建议对某些已知数据进行grep。
Rackspace的DBA建议使用strings命令来更好地处理二进制数据,例如:
strings /var/lib/mysql/sample_table/user.ibd | grep "knownuser"
这种方法在加密表上没有返回任何结果,并且会在未加密的表上返回结果(假设两者都有" knownuser"加载到它们中)。
答案 1 :(得分:0)
[如果更改加密日志的密钥,则可能无效。]
更改密钥文件中的密钥。 (不要删除 - 它仍然必须保持有效密钥,否则服务器无法重启)
再次启动MariaDB。
如果加密正确,则在尝试读取加密表时会有一个答案:“表已加密...”。
答案 2 :(得分:0)
您可以查询 information_schema.innodb_tablespaces_encryption 。加密innodb表空间后,它就会出现在表中。
SELECT * FROM information_schema.INNODB_TABLESPACES_ENCRYPTION
WHERE NAME LIKE 'db_encrypt%';