最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

說明

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

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

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

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

1.keyring_encrypted_file

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

2.keyring_okv

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

3.keyring_aws

整合aws的密匙管理服務(wù)來管理加解密的key。進(jìn)一步提高key的管理安全性。

四個(gè)加密模塊支持的加密類型

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

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

另外2種安全性不大。

實(shí)施步驟

OK,現(xiàn)在簡(jiǎn)單講一下最簡(jiǎn)單的keyring_file部署方案,提前說明下windows貌似無法使用這種方案,因?yàn)椴恢罏槭裁醇用苡玫膋ey總是無法生成。

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.設(shè)置加密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.永久啟用設(shè)置

上訴兩個(gè)步驟都是臨時(shí)的,重啟服務(wù)都會(huì)失效,我們把配置寫到配置文件里,確保重啟服務(wù)后也能生效

[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模塊是否已經(jīng)被載入。
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.加密現(xiàn)有的表

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL處理大量DELETE操作的多種方法

    MySQL處理大量DELETE操作的多種方法

    本文將討論 MySQL 中的大量 DELETE 操作,包括其潛在影響、最佳實(shí)踐和性能優(yōu)化策略,我們將通過 Java 代碼示例展示如何高效地執(zhí)行這些操作,并分析不同方法的優(yōu)缺點(diǎn),最后,提供相關(guān)的測(cè)試用例及結(jié)果預(yù)期,以幫助開發(fā)者更好地理解和應(yīng)用這些技術(shù),需要的朋友可以參考下
    2024-10-10
  • MySQL如何查詢數(shù)據(jù)庫中所有表名及注釋等信息

    MySQL如何查詢數(shù)據(jù)庫中所有表名及注釋等信息

    這篇文章主要介紹了MySQL如何查詢數(shù)據(jù)庫中所有表名及注釋等信息問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Linux利用UDF庫實(shí)現(xiàn)Mysql提權(quán)

    Linux利用UDF庫實(shí)現(xiàn)Mysql提權(quán)

    根據(jù)MySQL函數(shù)族的可擴(kuò)展機(jī)制,意味著用戶可以自己建立包含有自定義函數(shù)的動(dòng)態(tài)庫來創(chuàng)建自定義函數(shù),簡(jiǎn)稱udf
    2014-07-07
  • LInux下安裝MySQL5.6 X64版本步驟詳解

    LInux下安裝MySQL5.6 X64版本步驟詳解

    這篇文章主要介紹了LInux下安裝MySQL5.6 X64版本步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程

    MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程

    這篇文章主要介紹了MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程,主要用到了LOAD DATA語句,需要的朋友可以參考下
    2015-05-05
  • Mac OS10.11下mysql5.7.12 安裝配置方法圖文教程

    Mac OS10.11下mysql5.7.12 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了Mac OS10.11下mysql5.7.12 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Windows免安裝MySQL?8.0.28?版本圖文教程

    Windows免安裝MySQL?8.0.28?版本圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows免安裝MySQL8.0.28版本圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • mysql如何匹配數(shù)組字段中的某一個(gè)具體值

    mysql如何匹配數(shù)組字段中的某一個(gè)具體值

    在數(shù)據(jù)庫操作中,有時(shí)需要查詢數(shù)組字段中包含特定值的數(shù)據(jù),傳統(tǒng)like查詢可能會(huì)帶來錯(cuò)誤結(jié)果,如查詢包含數(shù)字1的數(shù)組可能錯(cuò)誤返回包含數(shù)字10的結(jié)果,為此,可以使用MySQL的FIND_IN_SET函數(shù)或REGEXP正則表達(dá)式進(jìn)行精確匹配,FIND_IN_SET適用于匹配單個(gè)固定值
    2024-11-11
  • 總結(jié)三道MySQL聯(lián)合索引面試題

    總結(jié)三道MySQL聯(lián)合索引面試題

    這篇文章主要介紹了總結(jié)三道MySQL聯(lián)合索引面試題,眾所周知MySQL聯(lián)合索引遵循最左前綴匹配原則,在少數(shù)情況下也會(huì)不遵循,創(chuàng)建聯(lián)合索引的時(shí)候,建議優(yōu)先把區(qū)分度高的字段放在第一列
    2022-08-08
  • MySQL字符串的拼接、截取、替換、查找位置實(shí)例詳解

    MySQL字符串的拼接、截取、替換、查找位置實(shí)例詳解

    MySQL中的字符串操作包括拼接、截取、替換和查找位置等功能,本文給大家介紹MySQL字符串的拼接、截取、替換、查找位置示例詳解,感興趣的朋友一起看看吧
    2024-09-09

最新評(píng)論

简阳市| 廊坊市| 台江县| 镇赉县| 望城县| 南丹县| 吴川市| 临清市| 鞍山市| 砀山县| 延寿县| 通城县| 南阳市| 潜山县| 临湘市| 平谷区| 精河县| 遵义县| 衡阳市| 溧水县| 班玛县| 黔江区| 蒙城县| 永和县| 弥渡县| 阳西县| 阿图什市| 元朗区| 荔波县| 台前县| 陇南市| 武汉市| 邯郸县| 灵川县| 水城县| 阳曲县| 仙游县| 南郑县| 浦江县| 临沧市| 灯塔市|