首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mariadb加密

Mariadb加密
EN

Database Administration用户
提问于 2019-08-14 06:48:43
回答 1查看 583关注 0票数 -1

我需要加密DB表的某些列。通过这些链接,遵循以下步骤:

In /etc/my.cnf

代码语言:javascript
运行
复制
[mysqld]
plugin-load-add = file_key_management
file_key_management_filename = /etc/mysql/encryption/keyfile.enc
file_key_management_filekey = /etc/mysql/encryption/keyfile.key
file_key_management_encryption_algorithm = AES_CTR

重新启动mysql

代码语言:javascript
运行
复制
service mysqld restart

但我无法看到插件的添加。

执行以下mysql命令:

代码语言:javascript
运行
复制
MariaDB [TestEncr]> CREATE TABLE table1 (col1 INT NOT NULL PRIMARY KEY, secret CHAR(200)) ENGINE=InnoDB ENCRYPTED=YES;
ERROR 1005 (HY000): Can't create table `TestEncr`.`table1` (errno: 140 "Wrong create options")

MariaDB [TestEncr]> install soname 'file_key_management';
ERROR 2 (HY000): Cannot decrypt /etc/mysql/encryption/keyfile.enc. Wrong key?

不明白是怎么回事?

EN

回答 1

Database Administration用户

发布于 2019-08-14 21:09:29

如果我正确地理解了文档,您需要在file_key_management_filekey的值前加上文字FILE:,以便将值的后续部分解释为包含密码的文件路径,而不是被解释为实际的密码。所以在你的情况下应该是:

代码语言:javascript
运行
复制
file_key_management_filekey = FILE:/etc/mysql/encryption/keyfile.key
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/245289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档