すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:CREATE EXTERNAL DATABASE

最終更新日:Feb 07, 2026

AnalyticDB for MySQL は、CREATE EXTERNAL DATABASE 文を使用した外部データベースの作成をサポートしています。このトピックでは、CREATE EXTERNAL DATABASE 文の構文、注意事項、および例について説明します。

前提条件

  • AnalyticDB for MySQL の Enterprise Edition、Basic Edition、または Data Lakehouse Edition のクラスターが作成されていること。

  • クロスアカウントで OSS 外部データベースを作成するには、まず RAM ロールを作成し、その信頼ポリシーを変更して、ロールに AliyunOSSReadOnlyAccess 権限を付与する必要があります。詳細については、「クロスアカウント権限付与」をご参照ください。

    重要

    OSS 外部テーブルで INSERT を実行する場合は、RAM ロールに AliyunOSSFullAccess 権限を付与してください。

  • Paimon 外部データベースを作成するには、クラスターのバージョンが 3.2.6.1 以降である必要があります。

    説明

    マイナーバージョンを表示および更新するには、AnalyticDB for MySQL コンソールクラスター情報 ページにある 構成情報 セクションに移動します。

注意事項

  • Spark エンジンは CREATE EXTERNAL DATABASE 文をサポートしていません。XIHE エンジンを使用する必要があります。

  • このコマンドで作成された外部データベースでは、CREATE EXTERNAL TABLE 構文を使用してのみ外部テーブルを作成できます。詳細については、「CREATE EXTERNAL TABLE」をご参照ください。

  • クロスアカウントでの作成は、OSS の外部データベースとテーブルでのみサポートされています。この操作は、RDS for 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 ファイルまたはフォルダのパス。

  • Paimon フォーマットのファイルの場合は、*.db ファイルを含むフォルダのパスを指定します。

    たとえば、Paimon ファイルのストレージパスが oss://testBucketName/OSS/Paimon/paimon.db/test の場合、ファイルパスを oss://testBucketName/OSS/Paimon/paimon.db/ に設定します。

  • パスを指定すると、AnalyticDB for MySQL はそのパス内のファイルにのみアクセスできます。

    たとえば、testBucketname バケットに testperson の 2 つのフォルダが含まれているとします。OSS パスを oss://testBucketname/test/ に設定した場合、test フォルダ内のファイルにのみアクセスできます。person フォルダ内のファイルにはアクセスできません。

cross_account_accessing_arn

いいえ

説明

このパラメーターは、クロスアカウントで OSS 外部データベースを作成する場合にのみ必須です。

RAM ロールの Alibaba Cloud リソース名 (ARN)。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/')