#### 6.4.4.6 使用密钥环\_file 基于文件的密钥环插件

[](<>)[](<>)

这`密钥环文件`密钥环插件将密钥环数据存储在服务器主机本地的文件中。

警告

对于加密密钥管理，`密钥环文件`插件并非旨在作为法规遵从性解决方案。PCI、FIPS 等安全标准要求使用密钥管理系统来保护、管理和保护密钥库或硬件安全模块 (HSM) 中的加密密钥。

安装`密钥环文件`, 使用中的一般说明[第 6.4.4.3 节，“密钥环插件安装”](keyring-plugin-installation.html)，以及特定于的配置信息`密钥环文件`在这里找到。

要在服务器启动过程中可用，`密钥环文件`必须使用[`--early-plugin-load`](server-options.html#option_mysqld_early-plugin-load)选项。这[`密钥环文件数据`](keyring-system-variables.html#sysvar_keyring_file_data)系统变量可选地配置文件使用的位置`密钥环文件`数据存储插件。默认值是特定于平台的。要显式配置文件位置，请在启动时设置变量值。例如，在服务器中使用这些行`我的.cnf`文件，调整`。所以`根据需要为您的平台添加后缀和文件位置：

```
[mysqld]
early-plugin-load=keyring_file.so
keyring_file_data=/usr/local/mysql/mysql-keyring/keyring
```

密钥环操作是事务性的：`密钥环文件`插件在写入操作期间使用备份文件，以确保在操作失败时它可以回滚到原始文件。备份文件的名称与[`密钥环文件数据`](keyring-system-variables.html#sysvar_keyring_file_data)后缀为的系统变量`.backup`.

有关更多信息[`密钥环文件数据`](keyring-system-variables.html#sysvar_keyring_file_data)， 看[第 6.4.4.18 节，“密钥环系统变量”](keyring-system-variables.html).

为了确保仅在存在正确的密钥环存储文件时才刷新密钥，`密钥环文件`在文件中存储密钥环的 SHA-256 校验和。在更新文件之前，插件会验证它是否包含预期的校验和。

这`密钥环文件`插件支持构成标准 MySQL Keyring 服务接口的功能。这些函数执行的密钥环操作可在两个级别访问：

-   SQL接口：在SQL语句中，调用中描述的函数[第 6.4.4.14 节，“通用密钥环密钥管理功能”](keyring-functions-general-purpose.html).

-   C接口：在C语言代码中，调用描述的keyring服务函数[第 5.6.9.2 节，“密钥环服务”](keyring-service.html).

    示例（使用 SQL 接口）：


```
SELECT keyring_key_generate('MyKey', 'AES', 32);
SELECT keyring_key_remove('MyKey');
```

有关允许的键值特征的信息`密钥环文件`， 看[第 6.4.4.12 节，“支持的密钥环密钥类型和长度”](keyring-key-types.html).
