欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL 整表加密解決方案 keyring_file詳解

 更新時間:2019年07月16日 10:20:47   作者:coderstory  
這篇文章主要介紹了MySQL 整表加密解決方案 keyring_file詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

說明

MySql社區(qū)版從5.7.11開始支持基于表的數據加密方案,模塊名為keyring_file,支持加密整張表。這種是加密方式其實是基于文件加密的,一旦mysqld讀取key啟動后,將會解密整張表的數據,在mysql服務內,讀取的數據都是解密后的,也就是說對客戶端而言是無感知的。而這個key是本地存放的,mysql服務擁有讀寫這個key的權限。

總體看這種方案不太安全,原因是數據庫文件是加密的,但只要能有mysql服務的賬戶,那么訪問數據都是解密后的,加密不攻自破。而且解密key也是本地存放的,入侵者完全可以一并帶走。這種方案只能保證入侵者只拖走了數據庫文件后無法讀取內容。

企業(yè)版MySQL額外的三種模塊

如果是企業(yè)版的mysql,那么還有另外三種加密方案。

1.keyring_encrypted_file

和我之前說的社區(qū)版差不多的,只是多了一個key。這個key用于加密解密數據庫用的key。安全性方面都差不多。

2.keyring_okv

相比本地存放key,本模塊使用KMIP存取key,相對更加安全。

3.keyring_aws

整合aws的密匙管理服務來管理加解密的key。進一步提高key的管理安全性。

四個加密模塊支持的加密類型

模塊名 可用加密算法 密鑰長度限制
keyring_encrypted_file AES
DSA
RSA
無限制
無限制
無限制
keyring_file AES
DSA
RSA
無限制
無限制
無限制
keyring_okv AES 16, 24, 32
keyring_aws AES 16, 24, 32

總結一下,四種方案都是文件加密,內存解密方案,區(qū)別在于加解密的key存放方案。推薦使用keyring_okv和keyring_aws,并確保mysql賬戶的安全性和嚴格區(qū)分賬戶權限。

另外2種安全性不大。

實施步驟

OK,現在簡單講一下最簡單的keyring_file部署方案,提前說明下windows貌似無法使用這種方案,因為不知道為什么加密用的key總是無法生成。

1.使用最新版的mysql 5.7.21

使用yum apt 之類的工具安裝最新版的mysql 或者 下載源碼自行編譯安裝

sudo apt install mysql-5.7

2.啟用加密模塊

INSTALL PLUGIN keyring_file soname ‘keyring_file.so';

mysql> INSTALL PLUGIN keyring_file soname 'keyring_file.so';
Query OK, 0 rows affected (0.10 sec)

3.設置加密key存放路徑

set global keyring_file_data='/root/mysql-keyring/keyring';

mysql> set global keyring_file_data='/var/lib/mysql-keyring/keyring';
Query OK, 0 rows affected (0.00 sec)

4.永久啟用設置

上訴兩個步驟都是臨時的,重啟服務都會失效,我們把配置寫到配置文件里,確保重啟服務后也能生效

[mysqld]
early-plugin-load=keyring_file.so
keyring_file_data=/root/mysql-keyring/keyring

5.查看key的存放路徑

show global variables like ‘%keyring_file_data%';

mysql> show global variables like '%keyring_file_data%';
+-------------------+--------------------------------+
| Variable_name   | Value             |
+-------------------+--------------------------------+
| keyring_file_data | /var/lib/mysql-keyring/keyring |
+-------------------+--------------------------------+
1 row in set (0.00 sec)

6.查看啟用的模塊

查看下keyring_file模塊是否已經被載入。
show plugins;

mysql> show plugins;
+----------------------------+----------+--------------------+-----------------+---------+
| Name            | Status  | Type        | Library     | License |
+----------------------------+----------+--------------------+-----------------+---------+
| binlog           | ACTIVE  | STORAGE ENGINE   | NULL      | GPL   |
| mysql_native_password   | ACTIVE  | AUTHENTICATION   | NULL      | GPL   |
| sha256_password      | ACTIVE  | AUTHENTICATION   | NULL      | GPL   |
| PERFORMANCE_SCHEMA     | ACTIVE  | STORAGE ENGINE   | NULL      | GPL   |
| CSV            | ACTIVE  | STORAGE ENGINE   | NULL      | GPL   |
| MRG_MYISAM         | ACTIVE  | STORAGE ENGINE   | NULL      | GPL   |
| MyISAM           | ACTIVE  | STORAGE ENGINE   | NULL      | GPL   |
| InnoDB           | ACTIVE  | STORAGE ENGINE   | NULL      | GPL   |
| INNODB_TRX         | ACTIVE  | INFORMATION SCHEMA | NULL      | GPL   |
| INNODB_LOCKS        | ACTIVE  | INFORMATION SCHEMA | NULL      | GPL   |
| INNODB_LOCK_WAITS     | ACTIVE  | INFORMATION SCHEMA | NULL      | GPL   |
| INNODB_CMP         | ACTIVE  | INFORMATION SCHEMA | NULL      | GPL   |
| INNODB_CMP_RESET      | ACTIVE  | INFORMATION SCHEMA | NULL      | GPL   |

。。。。。。(省略N條)

| keyring_file        | ACTIVE  | KEYRING      | keyring_file.so | GPL   |
+----------------------------+----------+--------------------+-----------------+---------+
45 rows in set (0.00 sec)

7.加密現有的表

alter table table encryption='Y';

mysql> create table cc (id int);
Query OK, 0 rows affected (0.01 sec)

mysql> alter table cc encryption='Y';
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0

8.取消加密

alter table table encryption='N';

mysql> alter table cc encryption='N';
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

官方文檔:

https://dev.mysql.com/doc/refman/5.7/en/keyring-installation.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 設置Mysql5.6允許外網訪問的詳細流程分享

    設置Mysql5.6允許外網訪問的詳細流程分享

    今天小編就為大家分享一篇設置Mysql5.6允許外網訪問的詳細流程分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • CentOS7環(huán)境下源碼安裝MySQL5.7的方法

    CentOS7環(huán)境下源碼安裝MySQL5.7的方法

    這篇文章主要介紹了CentOS7環(huán)境下源碼安裝MySQL5.7的方法,結合實例形式分析了CentoS7環(huán)境下MySQL5.7的下載、編譯、安裝、設置等相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • centos7環(huán)境下源碼安裝mysql5.7.16的方法詳解

    centos7環(huán)境下源碼安裝mysql5.7.16的方法詳解

    這篇文章主要介紹了centos7環(huán)境下源碼安裝mysql5.7.16的方法,詳細分析了centos7環(huán)境下MySQL安裝的相關步驟、操作命令、配置方法與注意事項,需要的朋友可以參考下
    2020-02-02
  • MySQL的左連接、右連接、內連接用法解讀

    MySQL的左連接、右連接、內連接用法解讀

    這篇文章主要介紹了MySQL的左連接、右連接、內連接用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • linux下mysql亂碼問題的解決方案

    linux下mysql亂碼問題的解決方案

    今天小編就為大家分享一篇關于linux下mysql亂碼問題的解決方案,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MySQL性能分析及explain的使用說明

    MySQL性能分析及explain的使用說明

    本文我們主要介紹了MySQL性能分析以及explain的使用,包括:組合索引、慢查詢分析、MYISAM和INNODB的鎖定、MYSQL的事務配置項等,希望能夠對您有所幫助。
    2011-08-08
  • MySQL實戰(zhàn)文章(非常全的基礎入門類教程)

    MySQL實戰(zhàn)文章(非常全的基礎入門類教程)

    半個月時間把MySQL重新鞏固了一遍,梳理了一篇幾萬字超硬核文章,想學習mysql的朋友可以看看
    2023-05-05
  • 年底了,你的mysql密碼安全嗎

    年底了,你的mysql密碼安全嗎

    這篇文章主要介紹了MySQL密碼安全的相關知識,幫助大家更好的使用數據庫,感興趣的朋友可以了解下
    2021-01-01
  • mysql多個left join連接查詢用法分析

    mysql多個left join連接查詢用法分析

    這篇文章主要介紹了mysql多個left join連接查詢用法,結合實例形式對比分析了mysql使用left join進行連接查詢相關操作技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • mysql having用法解析

    mysql having用法解析

    having字句可以讓我們篩選成組后的各種數據,where字句在聚合前先篩選記錄,也就是說作用在group by和having字句前,下面通過實例給大家介紹mysql having用法,一起看看吧
    2017-10-10

最新評論