CREATE EXTERNAL DATABASE
云原生數(shù)據(jù)倉庫 AnalyticDB MySQL 版支持通過CREATE EXTERNAL DATABASE
創(chuàng)建外部數(shù)據(jù)庫。本文介紹CREATE EXTERNAL DATABASE
的語法、注意事項以及示例。
前提條件
集群的產(chǎn)品系列為企業(yè)版、基礎(chǔ)版或湖倉版。
跨賬號創(chuàng)建OSS外部數(shù)據(jù)庫時,需要先創(chuàng)建RAM角色,修改RAM角色的信任策略,并對該角色授予AliyunOSSReadOnlyAccess權(quán)限。具體操作,請參見賬號授權(quán)。
重要如果需要對OSS外表執(zhí)行INSERT等數(shù)據(jù)更新操作,需為該RAM角色授予AliyunOSSFullAccess權(quán)限。
注意事項
Spark引擎不支持通過
CREATE EXTERNAL DATABASE
創(chuàng)建外部數(shù)據(jù)庫,請使用XIHE引擎。該命令創(chuàng)建的外部數(shù)據(jù)庫中只能通過
CREATE EXTERNAL TABLE
語法創(chuàng)建外表。語法詳情,請參見CREATE EXTERNAL TABLE。僅支持跨賬號創(chuàng)建OSS外部數(shù)據(jù)庫和外表,不支持創(chuàng)建其他類型的外部數(shù)據(jù)庫和外表(例如:RDS MySQL外表、MongoDB外表等)。
語法
CREATE EXTERNAL DATABASE [IF NOT EXISTS] <db_name>
[WITH DBPROPERTIES(
catalog='OSS',
location = '<oss_location>',
cross_account_accessing_arn= '<ARN>')]
參數(shù)
參數(shù) | 是否必填 | 說明 |
db_name | 是 | 數(shù)據(jù)庫名稱。 |
catalog | 否 說明 選填參數(shù)僅在跨賬號創(chuàng)建OSS外部數(shù)據(jù)庫時填寫。 | 數(shù)據(jù)庫引擎,固定填寫為OSS。 重要 僅支持跨賬號創(chuàng)建OSS外部數(shù)據(jù)庫。 |
location | 指定OSS文件或目錄所在的路徑。 重要 指定路徑后,AnalyticDB for MySQL只能訪問該路徑下的文件。 例如,在 | |
cross_account_accessing_arn | RAM角色的ARN信息。查看方法請參見查看RAM角色。 |
示例
同賬號創(chuàng)建外部數(shù)據(jù)庫。
CREATE EXTERNAL DATABASE IF NOT EXISTS adb_demo;
跨賬號創(chuàng)建外部數(shù)據(jù)庫。
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');