文章目录
一、权限要求
安装加密插件只需要用户具有 INSERT 权限即可,不需要为 root 用户
卸载加密插件只需要用户具有 DELETE 权限即可
加解密数据表需要用户在安装加密插件之后具有 ALERT 权限即可
二、加载密钥插件
MySQL 自 5.7 版本之后 都提供了一个插件,用于加解密MySQL 的表空间文件。但是这个插件默认是不开启的状态。如果需要使用到 MySQL 的原生加密(TDE),则需要手动开启这个插件。
MySQL 提供的密钥插件在 8.0.34 版本之后发生了变化
在 5.7 到 8.0.34 版本之间,使用的是 keyring_file 这个插件;在 8.0.34 版本之后,这个插件就被弃用了,改为了 keyring_encrypted_file 这个插件,下面是 8.0 官方文档的图示
MySQL 8.0.34 版本还可以继续沿用 keyring_file 插件的安装和使用方式,更高的版本因为没有环境,暂时没有办法验证
在MySQL 的最新版本中还存在 keyring_file 插件 ,官方文档中说将会在未来的某一个版本中删除,并没有确定具体是哪一个版本
2.1 在Linux操作系统下(MySQL版本为8.0.32/8.0.23/5.7.39-log已验证)
首先需要在MySQL的安装目录下找到 my.cnf 文件(Windows中为 my.ini 文件),添加下面两行配置
[mysqld]
early-plugin-load=keyring_file.so
keyring_file_data=<MySQL的插件路径>/keyring_file
可以使用下面的sql语句获取MySQL的插件路径
SHOW GLOBAL VARIABLES