从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 。此功能为物理表空间数据文件提供静态加密。该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系统时加密,加密用的是AES算法,而其解密是在从文件读到内存中时进行。
1 配置加密插件
1.1 修改配置文件
在mysql配置文件【mysqld】x项中添加如下内容
plugin_dir=/usr/local/mysql5.7/lib/mysql/plugin # 插件路径,根据实际情况修改
early-plugin-load="keyring_file.so" # 加密插件
keyring_file_data=/data/mysql3306/keyring/keyring # 路径不存在,需要创建
innodb_file_per_table=1 # 只作用于独立表空间
1.2 创建加密所需的路径并配置权限
创建时要注意 ,keyring_file_data 里配置的keyring会在启动时自动创建,本步骤中创建到对应目录即可
mkdir-p /data/mysql3306/keyring/chown-R mysql:mysql /data/mysql3306/keyring/chmod750/data/mysql3306/keyring
1.3 重启MySQL
重启mysql即可,启动后会发现注意/data/mysql3306/keyring 目录下生成了 keyring文件