MariaDB中如何使用加密特性


Mar开发云主机域名iaDB中如何使用加密特性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。innodb表空间加密innodb日志加密binlog加密aria表加密临时文件加密加密特性的一些限制:元数据文件(.frm)目前尚未加密;目前只有MariaDB server才能解密,mysqlbinlog工具还不支持解析加密后的binlog文件xtrabackup工具目前无法备份/恢复使用了加密特性的MariaDB实例。慢查询日志和错误日志尚未加密,里面可能会包含原始数据。为了保护加密后的数据,密钥一般存放在和数据文件不同的位置。MariaDB的密钥管理方式可以根据不同的保密需求来开发密钥管理插件,在默认情况下可以使用file_key_management插件,该插件以文件的方式存储密钥。
file_key_management插件:
相关参数:
file_key_management_filename:密钥文件位置, 比如/etc/my.cnf.d/file_key.txt
file_key_management_filekey:密钥文件的解密密码,如果密钥文件有加密的话则必须提供
file_key_management_encryption_algorithm:加密算法, AES_CBC/AES_CTR密钥文件格式:每行密钥由两部分组成,第一部分是密钥id,紧跟分隔符后面的是十六进制的密钥。
每个表可以单独指定一个密钥id(1-255)。不过innodb系统表空间和日志文件固定使用id为1的密钥来加密,所以密钥文件中一定要有id为1的密钥。如果存在密钥id为2的密钥,则会用来加密临时表和临时文件。这里还可以对密钥文件本身进行加密来防止密钥文件外泄,例如把明文的file_key.txt文件加密成file_key_enc.txt,密码为file_key_encrypt_key: openssl enc -aes-256-cbc -md sha1 -k file_key_encrypt_key -in file_key.txt -out file_key_enc.txtinnodb加密选项:
innodb-encrypt-tables:on/off/force, 是否加密所有innodb表, force表示强制加密所有innodb表
innodb-encrypt-log:on/off, 是否加密innodb日志文件
innodb-encryption-rotate-key-age:秒数,如果获取到了新密钥多久更新一次页面加密
innodb-encryption-rotation-iop:IOPS,最多允许用多少IOPS来做页面加密更新
innodb-encryption-threads:线程数,用多少个后台线程来做页面加密更新binlog加密选项:
encrypt-binlog:on/off,是否加密binlog其他加密选项:
encrypt_tmp_files:on/off,是否加密临时文件
encrypt_tmp_disk_tables:on/off,是否加密aria临时表
aria_encrypt_tables:on/off,是否加密aria表(只对ROW_FORMAT=PAGE)加密测试:创建不加密的表:
create table unencrypt_t(id int, name varchar(32)) ENCRYPTED=NO;创建加密的表,指定密钥id为3:
create table encrypt_t(id int, name varchar(32)) ENCRYPTED=YES ENCRYPTION_KEY_ID=3;修改不加密的表为加密:
alter table unencrypt_t ENCRYPTED=YES ENCRYPTION_KEY_ID=3;修改加密的表为不加密:
alter table unencrypt_t ENCRYPTED=NO;插入数据:已加密的数据文件对比未加密的数据文件:

binlog加密:
加密开启后的主备同步:
开启加密后,主机和备机之间的binlog传输是不加密的,由备机在写relaylog/binlog/数据文件时进行加密。所以主备之间的密钥可以不同,但id信息必须一致,否则建表语句在备机上无法执行成功,将会导致slave SQL线程中止。加密和压缩:
数据加密和数据压缩可以同时使用,MariaDB先做数据压缩再做数据加密,可以节约很大的存储空间。看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注开发云行业资讯频道,感谢您对开发云的支持。

相关推荐: 基于docker-registry 源代码怎样搭建私有环境

这篇文章给大家介绍基于docker-registry 源代码怎样搭建私有环境,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1:基础环境准备1.1 安装基础 sudoapt-getinstall build-essential python…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/20 12:41
下一篇 05/20 12:41

相关推荐