AnalyticDB for MySQL支援通過CREATE EXTERNAL DATABASE建立外部資料庫。本文介紹CREATE EXTERNAL DATABASE的文法、注意事項以及樣本。
前提條件
叢集的產品系列為企業版、基礎版或湖倉版。
跨帳號建立OSS外部資料庫時,需要先建立RAM角色,修改RAM角色的信任策略,並對該角色授予AliyunOSSReadOnlyAccess許可權。具體操作,請參見跨帳號授權。
重要如果需要對OSS外表執行INSERT等資料更新操作,需為該RAM角色授予AliyunOSSFullAccess許可權。
建立Paimon外庫時,叢集核心版本需為3.2.6.1及以上。
說明請在雲原生資料倉儲AnalyticDB MySQL控制台集群信息頁面,配寘資訊地區,查看和升級核心版本。
注意事項
Spark引擎不支援通過
CREATE EXTERNAL DATABASE建立外部資料庫,請使用XIHE引擎。該命令建立的外部資料庫中只能通過
CREATE EXTERNAL TABLE文法建立外表。文法詳情,請參見CREATE EXTERNAL TABLE。僅支援跨帳號建立OSS外部資料庫和外表,不支援建立其他類型的外部資料庫和外表(例如:RDS MySQL外表、MongoDB外表等)。
文法
CREATE EXTERNAL DATABASE [IF NOT EXISTS] <db_name>
[WITH DBPROPERTIES(
catalog='oss',
location = '<oss_location>',
cross_account_accessing_arn= '<ARN>')]參數
參數 | 是否必填 | 說明 |
db_name | 是 | 資料庫名稱。 |
catalog | 否 說明 僅跨帳號建立OSS外庫時填寫。 | 資料庫引擎。跨帳號建立OSS外庫時固定填寫為oss。 |
location | 否 | 指定OSS檔案或目錄所在的路徑。
|
cross_account_accessing_arn | 否 說明 僅跨帳號建立OSS外庫時填寫。 | RAM角色的ARN資訊。查看方法請參見查看RAM角色。 |
樣本
同帳號建立外部資料庫。
CREATE EXTERNAL DATABASE IF NOT EXISTS adb_demo;CREATE EXTERNAL DATABASE IF NOT EXISTS db_external_test WITH DBPROPERTIES( location = 'oss://testBucketname/person');
跨帳號建立外部資料庫。
CREATE EXTERNAL DATABASE IF NOT EXISTS adb_demo1 WITH DBPROPERTIES( catalog='oss', location = 'oss://testBucketname/test/', cross_account_accessing_arn= 'acs:ram::16274839*****:role/username');建立Paimon外部資料庫。
CREATE EXTERNAL DATABASE IF NOT EXISTS paimon_complex WITH DBPROPERTIES(location = 'oss://testBucketName/paimon/paimon_complex.db/')