我正在尝试加密 mysql 数据库中的某些表。我在 Mysql 文档中找到了一种方法 (https://dev.mysql.com/doc/refman/8.0/en/innodb-data-encryption.html)
我在 my.cnf 文件的 [mysqld] 下添加了以下几行
early-plugin-load=keyring_file.so
keyring_file_data=/home/aneeez/keyring_my
keyring_file.so 存在于 /usr/lib/mysql/plugin 中。我还创建了文件 /home/aneeez/keyring_my
重新启动 mysql 后,我执行了以下查询,但没有得到结果
SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE 'keyring%'
当我执行查询时,ALTER TABLE users ENCRYPTION = 'Y';
出现以下错误。
#3185 - 无法从密钥环中找到主密钥,请检查服务器日志中密钥环插件是否已成功加载和初始化。打开新的 phpMyAdmin 窗口
我错过了什么?
更新:下面的 Mysql 错误日志
2021-03-20T05:40:26.836746Z 0 [错误] [MY-011370] [服务器] 插件 keyring_file 报告:“未找到文件‘/home/anees/keyring_my’(OS errno 13 - 权限被拒绝)” 2021-03-20T05:40:26.836801Z 0 [错误] [MY-011355] [服务器] 插件 keyring_file 报告:“keyring_file 初始化失败。请检查 keyring_file_data 是否指向可读密钥环文件或是否可以在指定位置创建密钥环文件。在提供正确的密钥环文件路径之前,keyring_file 将保持不可用状态'2021-03-20T05:40:26.836836Z 0 [错误] [MY-010202] [服务器] 插件“keyring_file”初始化函数返回错误。2021-03-20T05:40:26.839667Z 1 [系统] [MY-013576] [InnoDB] InnoDB 初始化已开始。2021-03-20T05:40:27.605193Z 1 [系统] [MY-013577] [InnoDB] InnoDB 初始化已结束。2021-03-20T05:40:27.743091Z 0 [系统] [MY-011323] [服务器] X 插件已准备好连接。绑定地址:'127.0.0.1' 端口:33060,套接字:/var/run/mysqld/mysqlx.sock 2021-03-20T05:40:27.852035Z 0 [警告] [MY-010068] [服务器] CA 证书 ca.pem 是自签名的。 2021-03-20T05:40:27.852667Z 0 [系统] [MY-013602] [服务器] 通道 mysql_main 配置为支持 TLS。 此通道现在支持加密连接。 2021-03-20T05:40:27.896459Z 0 [系统] [MY-010931] [服务器] /usr/sbin/mysqld:准备好连接。版本:'8.0.23-0ubuntu0.20.04.1' 套接字:'/var/run/mysqld/mysqld.sock' 端口:3306(Ubuntu)。2021-03-20T05:47:53.332801Z 59 [错误] [MY-012661] [InnoDB] 加密找不到主密钥,请检查密钥环插件是否已加载。2021-03-20T06:22:48.430044Z 71 [错误] [MY-012656] [InnoDB] 加密找不到主密钥,请检查密钥环插件是否已加载。 ret=1 2021-03-20T07:07:54.878488Z 107 [错误] [MY-012661] [InnoDB] 加密找不到主密钥,请检查密钥环插件是否已加载。
它显示“未找到文件‘/home/anees/keyring_my’(OS errno 13 - 权限被拒绝)”,但该文件存在