按照this文章中的步骤,我成功设置了静态的MariaDb 10.1.14加密数据。但是我必须重新启动服务器才能使它正常工作。我想让加密工作而无需重新启动。因此,我执行了以下步骤:
进行加密所需的ini更改
plugin_load_add = file_key_management
file_key_management_filename = C:\Program Files\MariaDB 10.1\data\myKey.enc
file_key_management_filekey = FILE:<UserProfileFolder>\myPwd.key
file_key_management_encryption_algorithm = aes_cbc
innodb_encrypt_tables = ON
innodb_encrypt_log = ON
innodb_tablespaces_encryption = ON
innodb_encryption_threads = 4
运行sql激活加密插件
install plugin FILE_KEY_MANAGEMENT soname 'file_key_management';
SET GLOBAL innodb_encrypt_tables=ON;
SET GLOBAL innodb_encryption_threads=4;
设置完所有这些之后,加密就没有开始
我发现我必须手动运行alter table语句才能对所有现有表启用加密,而且我不知道如何也可以在不重新启动的情况下对Redolog和Tablespace进行加密,但是如果我重新启动服务,则不必这样做。
如果对此提供任何指导,我将不胜感激。
答案 0 :(得分:0)
感谢您的答复,但我确实发现了一些可以触发表加密而无需重新启动的东西。 当我运行查询以激活加密插件时,向其添加了另一个查询
SELECT count(*) FROM information_schema.innodb_tablespaces_encryption where ENCRYPTION_SCHEME = 1;
此查询具有魔力。这样看来,一旦激活了加密插件,就需要检查information_schema.innodb_tablespaces_encryption,这将使该插件生效。
但是仍然有一个警告,因为innodb_encrypt_log全局变量是只读的,所以它不会对日志进行加密。