mariadb/mysql表加密无需重启

50few1ms  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(431)

我按照本文中的步骤成功地设置了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和表空间进行加密,但如果重新启动服务,就不必这样做。
如果您能就此提供指导,我将不胜感激。

0qx6xfy6

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全局变量是只读的。

相关问题