全部產品
Search
文件中心

Data Management:MySQL資料庫帳號許可權管理

更新時間:Jun 30, 2024

DMS支援細粒度(庫、表、列、視圖等)層級的MySQL資料庫帳號許可權管控。本文向您介紹如何在DMS中管理MySQL資料庫帳號許可權。

前提條件

  • 資料庫類型為RDS MySQLPolarDB MySQL版AnalyticDB for MySQL、自建MySQL、MariaDB或RDS MariaDB

  • 您的使用者角色為管理員、DBA或普通使用者(執行個體Owner),更多資訊,請參見系統角色

  • 已擷取目標資料庫的資料庫帳號資料庫密碼

功能介紹

您可以在RDS MySQL、PolarDB MySQL版控制台上對資料庫大分類組合許可權(例如唯讀、讀寫、僅DML、僅DDL)進行便捷地管理與維護,但對於自訂各種權限類別型組合或授予某些表層級許可權等情境,您可以通過DMS推出的資料庫帳號許可權管理功能進行靈活管控。例如:

  • 給A帳號授予全域SELECTUPDATE許可權。

    說明

    全域許可權作用於整個資料庫執行個體層級,關於更多的全域權限類別型介紹請參見MySQL全域許可權

  • 給B帳號授予單張表的SELECT許可權或某一列的UPDATE許可權。

    說明

    對象許可權作用範圍可以是所有資料庫物件,也可以指定單個或多個資料庫物件,關於更多的對象權限類別型介紹請參見MySQL對象許可權

建立帳號

  1. 登入Data Management 5.0
  2. 登入目標資料庫,詳情請參見登入資料庫

  3. 單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理

  4. 資料庫帳號管理頁面,單擊左上方的建立資料庫帳號

  5. 在彈出的視窗中,設定以下配置項。

    1. 單擊基本設置頁簽,配置參數。

      image

      配置項

      說明

      資料庫帳號

      自訂登入資料庫的帳號。

      主機

      表示允許帳號從某個IP地址訪問資料庫。

      說明

      如果不填該配置項,表示不指定帳號從特定的IP地址訪問資料庫,系統的預設值為%

      密碼

      請輸入登入密碼。

      確認密碼

      請再次輸入登入密碼。

      說明

      上述配置項的SQL語句格式為CREATE USER `使用者名稱`@`主機` IDENTIFIED BY `密碼`;

      如果您需要配置進階選項,請單擊進階選項按鈕,並進行配置。

      例如按照下圖進行配置的SQL樣本為:

      GRANT USAGE ON *.* TO '使用者名稱'@'主機' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400;

      進階選項介面

    2. 單擊全局權限頁簽,勾選目標許可權。

      全域對象介面

      說明

      若您使用普通帳號在權限類別型中未找到目標許可權,可能由於帳號許可權或執行個體類型不支援該許可權。若由於帳號許可權不足原因,可使用高許可權帳號重試。

    3. 單擊對象權限頁簽,配置參數。

      例如按照下圖進行配置的SQL樣本為:

      GRANT SELECT,INSERT ON `rds_db`.* TO '使用者名稱'@'主機'; 
       GRANT DELETE ON `rds_db`.`rds_table` TO '使用者名稱'@'主機';

      對象許可權介面

  6. 單擊確認

  7. 預覽SQL視窗,單擊確認

    說明

    管控模式為安全協同的資料庫執行個體會受安全規則限制,如無法執行請根據介面提示資訊進行操作,或聯絡DBA、管理員進行確認。調整規則的具體操作步驟,請參見常見問題

編輯或刪除帳號

您可通過編輯帳號功能實現修改許可權帳號的使用者名稱密碼、MySQL全域許可權對象許可權

  1. 登入Data Management 5.0
  2. 單擊首頁左側的資料庫執行個體,在執行個體列表中按右鍵目標執行個體名稱,再單擊資料庫帳號管理

  3. 找到目標帳號,單擊右側的編輯刪除,執行相關操作。

MySQL全域許可權

許可權

權限物件

許可權說明

CREATE

資料庫、表或索引

建立資料庫、表或索引許可權。

DROP

資料庫、表或視圖

刪除資料庫、表或視圖許可權。

GRANT OPTION

資料庫、表或儲存的程式

賦予許可權選項。

REFERENCES

資料庫、表或列

外鍵許可權。

LOCK TABLES

資料庫

鎖表許可權。

EVENT

資料庫

查詢、建立、修改、刪除MySQL事件的許可權。

ALTER

表、視圖

更改表或視圖許可權,比如添加欄位、索引、修改欄位等。

DELETE

刪除資料許可權。

INDEX

索引許可權。

INSERT

表、列

插入許可權。

SELECT

表、列

查詢許可權。

UPDATE

表、列

更新許可權。

CREATE VIEW

視圖

建立視圖許可權。

SHOW VIEW

視圖

查看視圖許可權。

TRIGGER

觸發器

建立、刪除、執行、顯示觸發器的許可權。

ALTER ROUTINE

預存程序

更改預存程序許可權。

CREATE ROUTINE

預存程序

建立預存程序許可權。

EXECUTE

預存程序

執行預存程序許可權。

FILE

伺服器主機上的檔案訪問

檔案存取權限。

CREATE TEMPORARY TABLES

伺服器管理

建立暫存資料表許可權。

CREATE USER

伺服器管理

建立帳號許可權。

PROCESS

伺服器管理

查看進程許可權。

RELOAD

伺服器管理

執行FLUSH-HOSTSFLUSH-LOGSFLUSH-PRIVILEGESFLUSH-STATUSFLUSH-TABLESFLUSH-THREADSREFRESHRELOAD等命令的許可權。

REPLICATION CLIENT

伺服器管理

複製許可權。

REPLICATION SLAVE

伺服器管理

複製許可權。

SHOW DATABASES

伺服器管理

查看資料庫許可權。

SHUTDOWN

伺服器管理

關閉伺服器許可權。

SUPER

伺服器管理

執行kill線程許可權。

說明

RDS MySQLRDS MariaDB不支援SUPER許可權。

MySQL對象許可權

許可權

權限物件

許可權說明

CREATE

資料庫、表或索引

建立資料庫、表或索引許可權。

DROP

資料庫、表或視圖

刪除資料庫、表或視圖許可權。

GRANT OPTION

資料庫、表或儲存的程式

賦予許可權選項。

REFERENCES

資料庫、表或列

外鍵許可權。

LOCK TABLES

資料庫

鎖表許可權。

EVENT

資料庫

查詢、建立、修改、刪除MySQL事件的許可權。

ALTER

表、視圖

更改表或視圖許可權,比如添加欄位、索引、修改欄位等。

DELETE

刪除資料許可權。

INDEX

索引許可權。

INSERT

表、列

插入許可權。

SELECT

表、列

查詢許可權。

UPDATE

表、列

更新許可權。

CREATE VIEW

視圖

建立視圖許可權。

SHOW VIEW

視圖

查看視圖許可權。

TRIGGER

觸發器

建立、刪除、執行、顯示觸發器的許可權。

常見問題

Q:建立許可權使用者時,提示由於安全規則設定,禁止執行CREATE_USER命令建立許可權使用者,該怎樣解決?error框

A:您需要根據錯誤提示框中的操作步驟解決此問題。具體操作如下:

  1. 查看執行個體綁定的安全規則集名稱。

    您可在控制台首頁左側的執行個體列表中,找到目標執行個體,按右鍵目標執行個體,單擊查看詳情

  2. 調整安全規則。

    1. 登入Data Management 5.0

    2. 在頂部功能表列中,選擇安全與規範 > 安全規則

    3. 安全規則頁簽中,單擊目標規則集操作列下的編輯

    4. 在左側導覽列中,單擊SQL變更

    5. 檢測點選擇SQL執行規則

    6. 選擇允許所有DCL在SQL控制台直接執行安全規則,並單擊操作列下的編輯

    7. 在編輯規則對話方塊的規則DSL地區,增加CREATE_USER SQL類型。DCL SQL

  3. 單擊提交