GRANT用於為使用者授權。
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON priv_level
TO user [auth_option]
[WITH {GRANT OPTION}]
參數
-
priv_type:權限類別型,詳情請參見資料庫許可權模型。 -
column_list:選擇性參數,當priv_type為SELECT時,可以填寫表中的列名,針對具體列授予SELECT授權。 -
priv_level:被授權對象層級。-
*.*:整個叢集層級的許可權。 -
db_name.*:資料庫層級的許可權。 -
db_name.table_name或者table_name:表層級的許可權。 -
catalog <catalog_name>:external catalog 的許可權。
-
注意事項
通過GRANT授權使用者時,您需要擁有GRANT OPTION許可權。
樣本
-
為帳號account2授予叢集層級的
all許可權。GRANT all ON *.* TO 'account2'; -
為帳號account3授予資料庫層級的
all許可權。GRANT all ON adb_demo.* TO 'account3'; -
為帳號account4授予 external catalog
paimon_catalog層級的ACCESS許可權。GRANT all ON catalog paimon_catalog TO 'account4'@'%'; -
可以通過
GRANT建立並授權帳號。例如,建立全域DML帳號。
GRANT insert,select,update,delete on *.* to 'test'@'%' identified by 'Testpassword1';建立資料庫層級DML帳號。
GRANT insert,select,update,delete on adb_demo.* to 'test123' identified by 'Testpassword123'; -
建立帳號並授予列層級的
SELECT許可權。GRANT select (customer_id, sex) ON customer TO 'test321' identified by 'Testpassword321';