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

AnalyticDB:CREATE EXTERNAL DATABASE

最終更新日:Mar 31, 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 外部データベースおよび外部テーブルのみに対応しています。

構文

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 バケットに test および person の 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/')