MySQL 8.0安装keyring_file插件提示初始化失败该如何解决?
解决步骤
- 取消重复安装插件操作
你已经在配置文件中添加了early-plugin-load参数,MySQL启动时会自动加载keyring_file插件,无需再手动执行install plugin keyring_file soname 'keyring_file.dll';命令,重复执行安装是触发初始化报错的常见原因。 - 修正配置文件路径与权限问题
- 确认修改的是MySQL实际加载的配置文件:执行
show variables like 'config_file';查看生效的配置文件路径,Windows环境下默认配置文件通常为my.ini而非my.cnf,避免改错配置不生效。 - 调整
keyring_file_data配置项:确保路径指向具体的密钥文件(而非仅目录),路径分隔符使用正斜杠或者双反斜杠,示例配置如下:
[mysqld] early-plugin-load=keyring_file.dll keyring_file_data=C:/Program Files/MySQL/MySQL Server 8.0/lib/plugin/keyring_file.dat
- 给MySQL服务运行账号开放路径权限:
MySQL服务默认使用NETWORK SERVICE账号运行,默认状态下C:\Program Files下的目录没有该账号的写入权限,会导致密钥文件无法创建、插件初始化失败:
右键点击C:\Program Files\MySQL\MySQL Server 8.0\lib\plugin文件夹 → 选择「属性」→ 切换到「安全」选项卡 → 点击「编辑」→ 点击「添加」→ 输入NETWORK SERVICE并校验名称有效后确认 → 给该账号勾选「修改」「写入」权限,保存所有设置。
- 验证插件加载状态
完成上述操作后通过services.msc重启MySQL服务,执行以下SQL查看插件状态:
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'keyring%';
返回结果中PLUGIN_STATUS为ACTIVE即说明插件加载成功,后续即可正常创建加密表:
CREATE TABLE 表名 (字段列表) ENCRYPTION='Y';
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

