Encryption 验证MariaDB 10.1加密

Encryption 验证MariaDB 10.1加密,encryption,innodb,mariadb,Encryption,Innodb,Mariadb,我在MariaDB上设置了 我想知道是否有任何方法可以确认数据是真正加密的。我尝试在表中搜索示例数据,但我不知道这是否是一个可靠的测试。我的测试建议是将完整的数据集复制到另一个没有加密密钥的节点,然后尝试启动mysql并查询加密的表。我做了一个(大的)假设,它们将不可读,因为有效的加密密钥丢失了 除非您有专门的工具,否则在磁盘上解析文件可能会很困难。也许像杰里米·科尔(Jeremy Cole)的innodb_ruby(innodb_ruby)这样的东西会成为另一个试金石。我在mariadb.co

我在MariaDB上设置了


我想知道是否有任何方法可以确认数据是真正加密的。我尝试在表中搜索示例数据,但我不知道这是否是一个可靠的测试。

我的测试建议是将完整的数据集复制到另一个没有加密密钥的节点,然后尝试启动mysql并查询加密的表。我做了一个(大的)假设,它们将不可读,因为有效的加密密钥丢失了


除非您有专门的工具,否则在磁盘上解析文件可能会很困难。也许像杰里米·科尔(Jeremy Cole)的innodb_ruby(innodb_ruby)这样的东西会成为另一个试金石。

我在mariadb.com上发布了这个问题,建议对一些已知数据进行grep

Rackspace的一位DBA建议改用strings命令来更好地处理二进制数据,例如:

strings /var/lib/mysql/sample_table/user.ibd | grep "knownuser"

这种方法在加密的表上不返回结果,在未加密的表上返回结果(假设两者都加载了“KnowUser”。

[如果更改加密日志的密钥,可能不起作用。]

  • 停止数据库服务器
  • 备份密钥文件
  • 更改密钥文件中的密钥。(不要删除-它仍然必须保持有效密钥,否则服务器无法重新启动)

  • 重新开始

  • 尝试阅读表格(例如,使用phpMyAdmin)
如果加密正确,则在尝试读取加密表时会出现一个回答:“表已加密…”

  • 阻止玛丽亚
  • 恢复备份
  • 重新启动玛丽亚

您可以查询信息\u模式。innodb\u表空间\u加密。当innodb表空间被加密时,它会出现在表中

SELECT * FROM information_schema.INNODB_TABLESPACES_ENCRYPTION 
WHERE NAME LIKE 'db_encrypt%';

谢谢。我也在Mariadb.com知识库()上重新发布了这个问题。我还没有机会测试这个问题,尽管它看起来是一个合法的解决方案。我有另一个答案,我将在下面发布。我做了几次,当提供错误的密钥时,以及当将密钥更改回原始密钥时,mariadb工作得非常完美,我在三个不同的服务器上进行了尝试。只有当您没有提供有效的密钥时才会出现问题。所以我不敢相信这就是问题的原因。啊,没有提供有效的密钥可能是我当时的问题!谢谢在10.5.5中,它变成:
SELECT*FROM information\u schema.INNODB\u TABLESPACES\u ENCRYPTION
,所有加密的表都列在那里。