我按照本文中的步骤成功地设置了mariadb 10.1.14静态加密数据。但我必须重新启动服务器才能正常工作。我想在不重启的情况下让加密工作起来。所以我做了以下步骤:
安装mariadb
确保服务正在运行
进行加密所需的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语句才能对所有现有表启用加密,我不知道如何在不重新启动的情况下对redologs和表空间进行加密,但如果重新启动服务,就不必这样做。
如果您能就此提供指导,我将不胜感激。
1条答案
按热度按时间0qx6xfy61#
感谢您的回复,但我确实发现了一些在不重新启动的情况下触发了表加密的内容。当我运行查询来激活加密插件时,我又向它添加了一个查询
SELECT count(*) FROM information_schema.innodb_tablespaces_encryption where ENCRYPTION_SCHEME = 1;
这个查询很神奇。因此,似乎一旦激活了加密插件,就需要检查信息\u schema.innodb\u tablespaces\u encryption,这将使插件生效。但是仍然有一个警告,它不会加密日志,因为innodb\u encrypt\u log全局变量是只读的。