AnalyticDB for MySQL支援通過CREATE EXTERNAL DATABASE
建立外部資料庫。本文介紹CREATE EXTERNAL DATABASE
的文法、注意事項以及樣本。
前提條件
叢集的產品系列為湖倉版。
跨帳號建立OSS外部資料庫時,需要先建立RAM角色,修改RAM角色的信任策略,並對該角色授予AliyunOSSReadOnlyAccess許可權。具體操作,請參見帳號授權。
重要如果需要對OSS外表執行INSERT等資料更新操作,需為該RAM角色授予AliyunOSSFullAccess許可權。
注意事項
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檔案或目錄所在的路徑。 重要 指定路徑後,AnalyticDB for MySQL只能訪問該路徑下的檔案。 例如,在 | |
cross_account_accessing_arn | RAM角色的ARN資訊。查看方法請參見查看RAM角色。 |
樣本
同帳號建立外部資料庫。
CREATE EXTERNAL DATABASE IF NOT EXISTS adb_demo;
跨帳號建立外部資料庫。
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');