国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

開源分布式中間件 DBLE Server.xml 配置解析

Soarkey / 1102人閱讀

摘要:往期精選社區投稿和跨分片查詢結果不一致案例分析自定義拆分算法配置解析使用指南開源分布式中間件快速入門指南配置解析社區活動如何獲取全國場主題大會免費入場券

DBLE是基于開源項目MyCat發展的企業級開源分布式中間件,適用于高并發及TB級海量數據處理場景;江湖人送外號 “MyCat Plus”;其簡單穩定,持續維護,良好的社區環境和廣大的群眾基礎使DBLE得到了社區的大力支持。

DBLE項目介紹

DBLE 官方項目: 
https://github.com/actiontech...
如對源碼有興趣或者需要定制的功能的可以通過源碼編譯安裝
DBLE 下載地址:
https://github.com/actiontech...
DBLE 官方社區交流群:669663113

DBLE的主要配置文件

前兩篇文章"DBLE Rule.xml 配置解析"、"DBLE Schema.xml 配置解析" 分別介紹DBLE中Rule.xml和Schema.xml的配置,今天繼續介紹DBLE中Server.xml文件的配置,希望通過本篇的介紹,能對Server.xml文件的整體結構和內容有較為清晰的認識,方便大家能快速地入門。

DBLE的配置文件都在conf目錄里面,常用的幾個配置文件如下:

DBLE是一個JAVA分庫分表中間件,既然是JAVA應用肯定會有JVM相關的配置,在DBLE中我們選擇wrapper來作為管理DBLE進程的工具,配置文件在conf/wrapper.conf中,關于JVM的詳細介紹在wrapp.conf。

Server.xml配置解析

Server.xml是DBLE的重要配置文件之一, 整體配置可以分為三段,段,段和段,分別定義了DBLE軟件的相關配置,用戶配置和針對用戶的權限控制功能。


  
  
  
  
  

關于配置文件,如果在DBLE運行途中修改了配置,要想配置動態生效,只需要使用reload @@config命令,但是需要提醒的是reload @@config對Server.mxl中的段中的內容無法生效,即如果修改了server.xml的system的配置,需要重新啟動DBLE使其生效 ,更多關于DBLE管理命令請參考DBLE管理端命令

同樣以思維導圖的方式歸納如下,其中個別參數配置只是粗略地將最重要的參數羅列出來,詳細的參數還請參考官方文檔。

system配置

DBLE通過Server.xml配置文件來定義相關管理行為,如監聽端口,sql統計和控制連接行為等功能,DBLE除了支持分庫分表功能外,還實現了類似MySQL的慢查詢日志功能,并且支持使用pt-query-digest這樣的工具進行慢查詢SQL分析,極大地方便了DBA的SQL性能分析與問題SQL定位,以下簡單列出了一些最重要的也是最基礎的功能配置。

用戶配置

用戶配置在段進行配置,因為在Schema.xml中允許多個schema的存在,因此業務用戶也是允許多個用戶同時存在,并且還可以給這些用戶進行更小粒度的權限劃分。

以實際場景來舉例,比如當前配置了兩個邏輯庫adv和motor,分別是汽車和廣告業務,這兩個庫直接沒有任何的關聯,因此需要分別配置兩個用戶來使用這兩個schema,一個是adv_user,另一個是motor_user,這兩個用戶登錄上去DBLE能看到只有自己的schema,其他schema不可見,兩個用戶的配置如下:


        adv_user
        adv
        false
    
    
        motor_user
        motor
        false
    

但是你可能會想萬一這兩個庫之中的表有關聯查詢呢?對應場景是:我們需要有個用戶叫adv_motor_user,它對motor和adv庫都需要有權限訪問,別擔心,DBLE提供了對單個用戶可以訪問多個schema的配置方式,我們可以在schemas中指定多個schema,之間用逗號分隔,配置生效后使用這個用戶就能登錄看到兩個schema。


  adv_motor_user
  motor,adv 
  false  
 

你可能還會想,這樣的權限粒度依然不夠細,我們需要更細粒度的權限控制,比如需要adv_user的權限僅限于增刪改查權限,即需要將權限細分到dml語句, DBLE仍然提供這樣的配置,我們可以繼續增加privileges的配置,如下圖示:


        adv_user
        adv
        false
        
          
            

privileges的check參數作用于是否對用戶權限進行檢查,默認是不檢查,dml的權限是分別是INSERT UPDATE SELECT DELETE四種權限,用4個數字0或1的組合來表示是否開啟, 1表示開啟,0表示關閉。

在上圖中, adv_user對adv庫中所有表的默認權限是"1110", 即只有insert, update和select權限, 即如果沒有像tb01那樣詳細地列出來的情況,所有表的權限繼承權限1110,上面例子中,ta01作為特殊指定的邏輯表的權限,adv_user對該表的權限是1111。

我們可以看到DBLE可以將權限劃分到DML,并且是可以精確到某一邏輯表級別,對于只需要DML權限的場景是足夠了,但是這種權限控制還是很粗略,比如如果想讓adv_user除了有dml權限之外,還需要有drop table權限,這時候在用DBLE的privileges權限控制就顯得無能為力了,因此可行的建議是:

控制連接后端MySQL的用戶的權限,將DBLE側的權限完全放開,

換句話說只嚴格限制schema.xml的writehost中配置的連接用戶的權限。 使用后面要講的黑名單提供的權限控制。

黑白名單配置

針對上的權限粒度略顯粗略的限制(事實上大多數場景下DML的權限也已經足夠了),DBLE提供黑白名單的功能,白名單就是只允許白名單的連接,而黑名單則是詳細的針對已經通過白名單的連接的權限控制,黑名單更類似于SQL審計, 黑名單配置以firewall分隔開來, 典型配置如下:


  
    
     
  
  
false  
false  
false
......
  

對于黑白名單,需要注意:

DBLE針對來源IP和用戶名進行限制,放行白名單連接,對于不在白名單列之中的連接,統統拒絕而無法登陸。白名單中的來源ip,只能指定固定IP, 暫不支持MySQL "%""類似的ip通配符。
想象一種場景,需要像MySQL一樣指定一個ip范圍能允許連接DBLE,這時只能一行一行增加允許ip了,此處略顯笨拙。

如果配置了黑名單,則再根據黑名單中的權限property來進一步限制白名單中的用戶權限,例如是否允許查詢,是否允許INSERT,是否允許UPDATE??梢钥闯鯠BLE中黑名單更像是對用戶的權限審計,DBLE在黑名單中將上面只能粗糙地限制到DML權限的用戶配置做了較多較細的擴展,這樣權限粒度更小,從實際場景來說,這更符合生產需要,由此我們可以針對性地去掉一些危險的SQL。

總結

本文簡單介紹了Server.xml中的三個重要的配置段落,分別是DBLE的系統配置,用戶配置以及黑白名單功能,針對用戶配置則介紹了實際應用場景下的配置以及對應的DML權限配置,并詳細介紹了DBLE黑白名單配置實踐。

往期精選

| 社區投稿

DBLE和Mycat跨分片查詢結果不一致案例分析
DBLE 自定義拆分算法
DBLE rule.xml 配置解析

| 使用指南

開源分布式中間件 DBLE 快速入門指南
DBLE Schema.xml 配置解析

| 社區活動

如何獲取全國 25場 MySQL 主題大會免費入場券

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17927.html

相關文章

  • 回顧 | 開源分布中間DBLE社區分享活動總結

    摘要:社區投稿配置解析投稿余朝飛本文簡單介紹了中的三個重要的配置段落,分別是的系統配置,用戶配置以及黑白名單功能,針對用戶配置則介紹了實際應用場景下的配置以及對應的權限配置,并詳細介紹了黑白名單配置實踐。 1月24日,我們發布了為期30天的「如何獲取全國 25場 MySQL 主題大會免費入場券」有獎社區分享活動,希望社區同學能夠分享測試或生產環境中DBLE使用上的難題,困惑,創新或收獲,分享...

    wangbjun 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<