由于clickhouse自帶的預設使用者隻有一個(default),在實際的使用過程中,經常需要根據不同的使用人員建立不同類型的角色賬号。
建立一個新賬号與設定角色權限
在/etc/clickhouse-server 目錄下,編輯users.xml,其中的<users>标簽定義使用者的相關配置資訊,其結構如下:
<users>
<username> <!--使用者登入名-->
<password>123</password> <!--使用者登入密碼-->
<networks>::/0</networks> <!--允許登入的網絡位址-->
<profile>default</profile> <!--使用者使用的profile配置-->
<quota>default</quota> <!--使用者能夠使用的資源限額/熔斷機制-->
</username>
<users>
在users.xml中添加了如下配置之後,即可完成一個新使用者的配置
1、使用者密碼的配置有三種方法,詳情參考:clickhouse(二) 設定使用者的登入密碼
2、<networks>表示網絡的通路權限,用于限制某個使用者登入的用戶端位址,共分為IP位址、Host主機名稱以及正則比對三種類型。
(1)、IP位址:直接使用ip位址
<ip>127.0.0.1</ip>
(2)、使用host主機名:使用host主機名設定
<host>ch5.nauu.com</host>
(3)、正則比對:通過表達式來比對host名稱
<host>^ch\d.nauu.com$</host>
在配置了<networks>标簽之後,如果登入的用戶端與配置規則不比對,就會無法登入
3、<profile>标簽定義了使用者的角色資訊,在users.xml中的<profiles>标簽中定義。
<profiles>标簽下的每一個子标簽代表了一種角色的資訊,例如:配置了下面這個配置的使用者隻具有查詢資料的功能
<readonly>
<readonly>1</readonly>
</readonly>
4、<quota>标簽定義了使用者機關時間内的資源限制,也可以稱為是一種熔斷機制。
當使用者的資源使用情況達到配置門檻值時,就會觸發熔斷機制(熔斷是限制資源被過度使用的一種保護機制),正在進行的操作就會被自動切斷。
<quota>标簽的詳細配置在users.xml檔案中,每一個子标簽代表一種quota配置。同樣的,clickhouse也給出了預設的參考配置
<quota>
<default>
<interval>
<duration>3600</duration>
<queries>0</queries>
<errors>0</errors>
<result_rows>0</result_rows>
<read_rows>0</read_rows>
<execution_time>0</execution_time>
</interval>
<default>
</quota>
1、duration
duration表示累計的時間周期,機關為秒,達到該時間周期後,清除所有收集的值,接下來的周期,将重新開始計算,當服務重新開機時,也會清除所有的值,重新開始新的周期。
2、queris
queris表示在該周期内,允許執行的查詢次數,0為不限制。
3、errors
errors表示在該周期内,允許引發異常的查詢次數,0為不限制。
4、result_rows
result_rows表示在周期内,允許查詢傳回的結果行數,0為不限制。
5、read_rows設定
read_rows表示在周期内,允許遠端節點讀取的資料行數,0為不限制。
6、execution_time設定
execution_time表示允許查詢的總執行時間(又叫wall time),機關為秒,0為不限制。
如有錯誤,歡迎指正!