安装mysql密钥环插件

Har*_*ing 3 mysql encryption plugins

我试图在MySQL 5.7.18上安装密钥环插件.

我编辑了my.ini文件.它是空白的,所以我添加了以下文本并重新启动了MySQL.

[mysqld]
early-plugin-load=keyring_file.dll
Run Code Online (Sandbox Code Playgroud)

我运行以下命令来安装插件.

mysql> install plugin keyring_file soname 'keyring_file.dll';
Run Code Online (Sandbox Code Playgroud)

然后我运行以下sql来检查:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
    ->        FROM INFORMATION_SCHEMA.PLUGINS
    ->        WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

但是当我试图改变一个表来使用加密时,我遇到了错误.

mysql> ALTER TABLE t1 ENCRYPTION='Y';
ERROR 3185 (HY000): Can't find master key from keyring, please check keyring 
plugin is loaded.
Run Code Online (Sandbox Code Playgroud)

我错过了某个地方吗?

Chi*_*ael 7

哈里特,做以下事情:

  • 检查用户运行MySQL服务的用户(例如,NETWORK SERVICE)
  • keyring在C:/ Program Files/MySQL/MySQL Server 5.7中创建一个文件夹
  • 明确授予密钥环文件夹的MySQL服务用户权限

默认情况下在Windows上使用keyring_file时,密钥环文件存储在C:/ Program Files/MySQL/MySQL Server 5.7/keyring/keyring中(我通过SHOW VARIABLES LIKE 'keyring%'在安装插件后运行并按照你的描述确认其加载来确定).

右键单击C:/ Program Files/MySQL/MySQL Server 5.7中的密钥环文件夹后,单击属性 - >安全性,然后编辑 - >添加等.添加用户后,除了读取和执行外,还要检查"修改",列出文件夹内容,读写.

然后重新启动MySQL服务,您应该能够创建一个没有错误的加密表.

注意:出于安全原因,您应该返回并删除您认为绝对不需要访问密钥环文件夹的所有用户/组(例如,本地计算机用户).在Unix上,文档建议单独的mysql用户和组可以访问该文件夹.