全部產品
Search
文件中心

:CREATE EXTERNAL DATABASE

更新時間:Oct 15, 2024

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只能訪問該路徑下的檔案。

例如,在testBucketname中存在testperson兩個目錄。當指定OSS路徑為oss://testBucketname/test/時,僅可訪問test目錄下的檔案,person目錄下的檔案無法訪問。

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');