日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

多租戶管理使用說(shuō)明

本文介紹了PolarDB MySQL版提供的租戶管理簡(jiǎn)介以及使用說(shuō)明等內(nèi)容。

簡(jiǎn)介

PolarDB MySQL版提供的多租戶模式,可以使得多個(gè)租戶在同一個(gè)集群下共享計(jì)算資源和存儲(chǔ)資源,且保證各租戶下的數(shù)據(jù)隔離和資源隔離。 各個(gè)租戶僅能訪問(wèn)到自己的數(shù)據(jù),租戶之間不會(huì)出現(xiàn)資源爭(zhēng)搶,以保證業(yè)務(wù)的穩(wěn)定運(yùn)行。技術(shù)原理如下圖所示:

image

術(shù)語(yǔ)

租戶:租戶(Tenant)為實(shí)現(xiàn)多租戶模式所提出的概念,租戶的層級(jí)結(jié)構(gòu)在一個(gè)數(shù)據(jù)庫(kù)實(shí)例之下,在數(shù)據(jù)庫(kù)與用戶之上。租戶分為系統(tǒng)租戶和普通租戶:

  • 系統(tǒng)租戶:系統(tǒng)租戶是為了適配原有模式下用戶的使用,原有數(shù)據(jù)庫(kù)實(shí)例中的用戶默認(rèn)屬于系統(tǒng)租戶,也可以稱為系統(tǒng)用戶。當(dāng)通過(guò)系統(tǒng)租戶下的用戶連接數(shù)據(jù)庫(kù)時(shí),若該用戶擁有對(duì)應(yīng)的數(shù)據(jù)庫(kù)實(shí)例訪問(wèn)權(quán)限,即可訪問(wèn)所有租戶下的數(shù)據(jù)庫(kù)實(shí)例。

  • 普通租戶:普通租戶需要在系統(tǒng)租戶下進(jìn)行創(chuàng)建,普通租戶下的數(shù)據(jù)庫(kù)實(shí)例與用戶完全隔離,無(wú)法互相訪問(wèn),并且普通租戶無(wú)法訪問(wèn)系統(tǒng)租戶下的數(shù)據(jù)庫(kù)實(shí)例。在進(jìn)行CPU資源調(diào)度時(shí),普通租戶根據(jù)min_cpu是否大于0將普通租戶分為獨(dú)占型租戶和共享型租戶。

    • 獨(dú)占型租戶:min_cpu>0,需要保證任何時(shí)刻的CPU資源不小于min_cpu。

    • 共享型租戶:min_cpu=0。

    獨(dú)占型租戶和共享型租戶可以通過(guò)調(diào)整min_cpu的值進(jìn)行相互轉(zhuǎn)換。

資源配置:資源配置(resource_config)是為了實(shí)現(xiàn)多租戶資源隔離與資源調(diào)度所提出的概念,一個(gè)資源配置描述了一個(gè)租戶下能夠使用的資源。當(dāng)前PolarDB MySQL版僅支持對(duì)CPU資源進(jìn)行隔離以及調(diào)度。

使用前提

PolarDB MySQL版集群的產(chǎn)品版本企業(yè)版,集群的內(nèi)核版本需為8.0.2及以上,且集群的節(jié)點(diǎn)規(guī)格需要保持一致。

說(shuō)明

租戶管理與資源隔離功能目前處于灰度發(fā)布階段,如有需求,您可以添加釘釘群聯(lián)系工作人員來(lái)開啟該功能。功能開啟后,您需要重啟目標(biāo)集群才能生效。釘釘群號(hào):59535005981。

注意事項(xiàng)

  • 暫不支持租戶下的Binlog信息同步。

  • 暫不支持對(duì)用戶部分權(quán)限進(jìn)行撤銷。

使用說(shuō)明

開啟單機(jī)多租戶模式

開啟數(shù)據(jù)隔離功能

開啟數(shù)據(jù)隔離功能,需要將參數(shù)enable_multi_tenant的值設(shè)置為ON,且目標(biāo)集群中的數(shù)據(jù)庫(kù)名或用戶名中不包含參數(shù)multi_tenant_separator的值。

開啟資源隔離功能

若需要同時(shí)開啟數(shù)據(jù)隔離功能和資源隔離功能,則需要將參數(shù)thread_pool_enabledenable_multi_tenant以及thread_pool_multi_tenant_enabled的值均設(shè)置為ON,且需要保證參數(shù)thread_pool_size的值與目標(biāo)集群的節(jié)點(diǎn)規(guī)格的核數(shù)保持一致。您可以在目標(biāo)集群的基本信息頁(yè)面的數(shù)據(jù)庫(kù)節(jié)點(diǎn)區(qū)域查看集群的節(jié)點(diǎn)規(guī)格。如下圖:

image

說(shuō)明

若有單機(jī)多租戶需求,您可以添加釘釘群來(lái)聯(lián)系工作人員開啟數(shù)據(jù)隔離功能或同時(shí)開啟數(shù)據(jù)隔離和資源隔離功能。釘釘群號(hào):59535005981。功能開啟后,您需要重啟目標(biāo)集群才能生效。

資源管理

PolarDB MySQL版單機(jī)多租戶模式下的資源隔離僅支持CPU資源隔離,在創(chuàng)建資源配置時(shí),指定此資源配置所對(duì)應(yīng)的CPU資源限制條件min_cpumax_cpu。當(dāng)某一租戶綁定此資源限制條件時(shí)便可限制此租戶下user連接使用的CPU資源。

創(chuàng)建資源配置

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)CREATE語(yǔ)句來(lái)創(chuàng)建資源配置。示例如下:

CREATE resource_config r1 min_cpu 0 max_cpu 1;
CREATE resource_config r2 min_cpu 1 max_cpu 4;
說(shuō)明
  • 創(chuàng)建資源配置時(shí),PolarDB將不會(huì)檢測(cè)資源配置信息與集群節(jié)點(diǎn)規(guī)格的關(guān)系,僅當(dāng)租戶綁定資源限制條件時(shí)才會(huì)進(jìn)行檢測(cè)。

  • 任意一個(gè)租戶的min_cpu不超過(guò)當(dāng)前集群節(jié)點(diǎn)規(guī)格的核數(shù)-1,需要為系統(tǒng)租戶預(yù)留1CPU。否則,在創(chuàng)建租戶時(shí),租戶與資源配置會(huì)綁定失敗。

  • 系統(tǒng)租戶下的用戶可使用的資源為CPU資源總和減去所有獨(dú)占型租戶占用的CPU資源

查看資源配置

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)SELECT語(yǔ)句來(lái)查看資源配置。示例如下:

SELECT * FROM mysql.tenant_resource_config;

更新資源配置

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)ALTER語(yǔ)句來(lái)更新資源配置。示例如下:

ALTER resource_config r2 min_cpu 1 max_cpu 2;
說(shuō)明

若租戶正在使用該資源配置,則無(wú)法進(jìn)行更新操作。

刪除資源配置

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)DROP語(yǔ)句來(lái)刪除資源配置。示例如下:

DROP resource_config r1;
說(shuō)明

若租戶正在使用該資源配置,則無(wú)法進(jìn)行刪除操作。

租戶管理

創(chuàng)建租戶

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)CREATE語(yǔ)句來(lái)創(chuàng)建新租戶。示例如下:

CREATE tenant tenant_name resource_config r1;
說(shuō)明
  • tenant_name長(zhǎng)度不超過(guò)10個(gè)字符,并且支持包含大寫字母、小寫字母、數(shù)字或下劃線(_)。

  • 需要保證所有租戶的資源配置中min_cpu之和不能超過(guò)當(dāng)前集群節(jié)點(diǎn)規(guī)格中的核數(shù)-1

更新租戶

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)AlTER語(yǔ)句來(lái)更新租戶。示例如下:

ALTER tenant tenant_name resource_config r2;
說(shuō)明

需要保證所有租戶的資源配置中min_cpu之和不能超過(guò)當(dāng)前集群節(jié)點(diǎn)規(guī)格中的核數(shù)-1

查看租戶

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)SELECT語(yǔ)句來(lái)查看租戶。示例如下:

SELECT * FROM mysql.tenants;

刪除租戶

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)DROP語(yǔ)句來(lái)刪除租戶。示例如下:

DROP tenant tenant_name;
說(shuō)明
  • 刪除租戶時(shí),需要保證租戶下的數(shù)據(jù)庫(kù)已經(jīng)被刪除。否則,無(wú)法刪除租戶。

  • 刪除租戶操作默認(rèn)會(huì)將租戶下的所有用戶都刪除,請(qǐng)謹(jǐn)慎操作。

用戶管理

說(shuō)明
  • 在系統(tǒng)租戶下創(chuàng)建或刪除用戶時(shí),需要以'用戶名稱@租戶名稱'的方式對(duì)用戶進(jìn)行操作。

  • 開啟單機(jī)多租戶模式下,用戶名稱的長(zhǎng)度被限制為不超過(guò)20個(gè)字符,并僅可包含大寫字母、小寫字母、數(shù)字和下劃線(_)。

  • 租戶內(nèi)不可以創(chuàng)建以下用戶:

    • replicator

    • root

    • mysql.infoschema

    • mysql.session

    • mysql.sys

    • aurora

    • aliyun_root

  • 租戶下的用戶不能擁有__recycle_bin__mysqlperformance_schemasys庫(kù)權(quán)限。

在系統(tǒng)租戶下進(jìn)行用戶管理

創(chuàng)建用戶

連接數(shù)據(jù)庫(kù),并通過(guò)CREATE語(yǔ)句來(lái)創(chuàng)建用戶。示例如下:

CREATE user 'user_1@tenant_1';

刪除用戶

連接數(shù)據(jù)庫(kù),并通過(guò)DROP語(yǔ)句來(lái)刪除用戶。示例如下:

DROP user 'user_1@tenant_1';

用戶授權(quán)管理

  • 對(duì)用戶授予租戶下的權(quán)限。

    使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),對(duì)用戶授予租戶下的權(quán)限。如為用戶user1@tenant_1授予租戶tenant_1下的權(quán)限的SQL語(yǔ)句如下:

    GRANT all privileges ON `%@tenant_1`.* to 'user_1@tenant_1'@'%' with grant option;
    說(shuō)明

    為用戶授予當(dāng)前租戶下的權(quán)限時(shí),不能超出當(dāng)前租戶的權(quán)限,也不能授予其他租戶的權(quán)限。

  • 授予CREATE USER權(quán)限。

    使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),對(duì)用戶授予CREATE USER權(quán)限。示例如下:

    GRANT CREATE user ON *.* to 'user_1@tenant_1'@'%';
  • 查看當(dāng)前用戶擁有的權(quán)限。示例如下:

    SHOW grants for 'user_1@tenant_1';

在普通租戶下進(jìn)行用戶管理

創(chuàng)建用戶

通過(guò)租戶下的用戶連接數(shù)據(jù)庫(kù),并在其他租戶下創(chuàng)建用戶。示例如下:

CREATE user user_2;

刪除用戶

通過(guò)租戶下的用戶連接數(shù)據(jù)庫(kù),并在其他租戶下刪除用戶。示例如下:

DROP user user_2;

用戶授權(quán)管理

  • 通過(guò)租戶下的用戶連接數(shù)據(jù)庫(kù),并為數(shù)據(jù)庫(kù)db1授權(quán)。示例如下:

    GRANT SELECT ON db1.* to 'user_2'@'%';
  • 在租戶模式下,將租戶內(nèi)的全局權(quán)限授予某個(gè)用戶。示例如下:

    GRANT SELECT ON *.* to user
  • 在租戶模式下,為某個(gè)數(shù)據(jù)庫(kù)授權(quán)。示例如下:

    GRANT SELECT ON db.* to user
說(shuō)明

多租戶模式下,暫不支持將數(shù)據(jù)庫(kù)授權(quán)和全局授權(quán)混合使用,若混合使用,可能無(wú)法正確鑒別權(quán)限。建議僅使用全局授權(quán)或僅使用數(shù)據(jù)庫(kù)級(jí)別的授權(quán)。

數(shù)據(jù)庫(kù)管理

說(shuō)明
  • 在系統(tǒng)租戶下創(chuàng)建或刪除數(shù)據(jù)庫(kù)時(shí),需要以'數(shù)據(jù)庫(kù)名稱@租戶名稱'的方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。

  • 開啟單機(jī)多租戶模式下,數(shù)據(jù)庫(kù)名稱的長(zhǎng)度被限制為不超過(guò)50個(gè)字符,并且僅可包含大寫字母、小寫字母、數(shù)字和下劃線(_)。

  • 租戶內(nèi)不可以創(chuàng)建以下數(shù)據(jù)庫(kù):

    • information_schema

    • performance_schema

    • mysql

    • sys

    • __recycle_bin__

    • query_rewrite

  • 若在租戶下創(chuàng)建dbms_ccldbms_outlndbms_consensus等庫(kù),租戶下的用戶將無(wú)法調(diào)用數(shù)據(jù)庫(kù)中的內(nèi)置存儲(chǔ)過(guò)程。此時(shí),您可以使用CALL dbms_admin.show_native_procedure();來(lái)查看數(shù)據(jù)庫(kù)中所有的內(nèi)置存儲(chǔ)過(guò)程。

  • 若在租戶下創(chuàng)建的數(shù)據(jù)庫(kù)名稱與內(nèi)置存儲(chǔ)過(guò)程中的schema_name相同,將無(wú)法調(diào)用該數(shù)據(jù)庫(kù)下的內(nèi)置存儲(chǔ)過(guò)程。

在系統(tǒng)租戶下管理數(shù)據(jù)庫(kù)

創(chuàng)建數(shù)據(jù)庫(kù)

連接數(shù)據(jù)庫(kù),在系統(tǒng)租戶下創(chuàng)建數(shù)據(jù)庫(kù)。示例如下:

CREATE database 'db1@tenant_1';

刪除數(shù)據(jù)庫(kù)

連接數(shù)據(jù)庫(kù),在系統(tǒng)租戶下刪除數(shù)據(jù)庫(kù)。示例如下:

DROP database 'db1@tenant_1';

在普通租戶下管理數(shù)據(jù)庫(kù)

創(chuàng)建數(shù)據(jù)庫(kù)

連接數(shù)據(jù)庫(kù),在普通租戶下創(chuàng)建數(shù)據(jù)庫(kù)。示例如下:

CREATE database db2;

刪除數(shù)據(jù)庫(kù)

連接數(shù)據(jù)庫(kù),在系統(tǒng)租戶下刪除數(shù)據(jù)庫(kù)。示例如下:

DROP database db2;

通過(guò)租戶下的用戶連接數(shù)據(jù)庫(kù)

通過(guò)客戶端來(lái)連接數(shù)據(jù)庫(kù)時(shí),需要將用戶指定為用戶名稱@租戶名稱的形式。示例如下:

mysql --host=xxxxxx -u user1@tenant_1 -p pwssword

連接成功后,該用戶將受到對(duì)應(yīng)租戶下的資源限制。

查看租戶綁定關(guān)系

使用高權(quán)限賬號(hào)連接數(shù)據(jù)庫(kù),并通過(guò)以下SQL語(yǔ)句來(lái)查看線程組與租戶的綁定關(guān)系:

SELECT * FROM information_schema.thread_pool_status;

在開啟租戶資源隔離模式下,查詢結(jié)果中會(huì)顯示此線程組所綁定的獨(dú)占型租戶。若查詢結(jié)果中的租戶信息為空,則表示線程組被多個(gè)租戶共享。

查看審計(jì)日志

在租戶模式下進(jìn)行的操作,審計(jì)日志中將會(huì)展示其使用的物理數(shù)據(jù)庫(kù)和物理用戶等信息。

例如,在租戶t2下,用戶u1db3數(shù)據(jù)庫(kù)內(nèi)執(zhí)行的SQL語(yǔ)句被記錄在審計(jì)日志中,數(shù)據(jù)庫(kù)列將顯示為db3@t2,用戶列將顯示為u1@t2

image