全部产品
Search
文档中心

AnalyticDB:Ekspor data ke database MySQL yang dikelola sendiri

更新时间:Jul 06, 2025

AnalyticDB for MySQL memungkinkan Anda menggunakan tabel eksternal untuk mengimpor dan mengekspor data. Topik ini menjelaskan cara menggunakan tabel eksternal AnalyticDB for MySQL Data Warehouse Edition (V3.0) untuk mengekspor data ke database MySQL yang dikelola sendiri.

Prasyarat

  • Sebuah instance Elastic Compute Service (ECS) telah dibuat di dalam virtual private cloud (VPC) yang sama di wilayah yang sama dengan kluster AnalyticDB for MySQL.

  • Database MySQL yang dikelola sendiri di-hosting pada instance ECS tersebut.

  • Nomor port tempat database MySQL yang dikelola sendiri berjalan telah diberi otorisasi untuk mengakses instance ECS. Untuk informasi lebih lanjut, lihat Tambahkan Aturan Grup Keamanan.

  • Data uji telah disiapkan.

    Dalam contoh ini, database MySQL yang dikelola sendiri yang di-hosting pada ECS bernama test_adb digunakan sebagai database tujuan. Sebuah tabel tujuan bernama courses dibuat di dalam database tersebut. Tabel ini digunakan untuk menyimpan data yang diekspor dari kluster AnalyticDB for MySQL. Pernyataan berikut dapat digunakan untuk membuat tabel tujuan:

    CREATE TABLE courses (
        id bigint NOT NULL,
        name varchar(32) NOT NULL,
        grade varchar(32) NOT NULL,
        submission_date  timestamp NOT NULL,
        PRIMARY KEY (id)
    );
  • Jika kluster AnalyticDB for MySQL berada dalam mode elastis, Anda harus mengaktifkan ENI di bagian Network Information halaman Cluster Information.

    Penting

    Saat mengaktifkan atau menonaktifkan ENI, koneksi database mungkin terputus selama sekitar 2 menit. Selama periode ini, operasi baca atau tulis tidak dapat dilakukan. Berhati-hatilah saat mengaktifkan atau menonaktifkan ENI.

Prosedur

  1. Hubungkan ke kluster AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat Hubungkan ke Kluster AnalyticDB for MySQL.

  2. Buat database sumber. Untuk informasi lebih lanjut, lihat Buat Database.

    Dalam contoh ini, sebuah database bernama adb_demo digunakan sebagai database sumber di dalam kluster AnalyticDB for MySQL.

  3. Buat tabel sumber dan masukkan data ke dalam tabel sumber.

    Eksekusi pernyataan berikut untuk membuat tabel sumber bernama courses di dalam database sumber adb_demo. Kemudian, ekspor data di dalam tabel sumber ke tabel courses di dalam database MySQL yang dikelola sendiri bernama test_adb.

    CREATE TABLE courses (
    id bigint AUTO_INCREMENT,
    name varchar NOT NULL,
    grade varchar DEFAULT '1st Grade',
    submission_date timestamp
    ) DISTRIBUTED BY HASH(id);

    Eksekusi pernyataan berikut untuk menyisipkan satu baris data ke dalam tabel sumber courses:

    INSERT INTO courses (name,submission_date) VALUES("Jams",NOW());
  4. Buat tabel eksternal.

    Eksekusi pernyataan berikut untuk membuat tabel eksternal bernama courses_external_table di dalam database adb_demo:

     CREATE TABLE IF NOT EXISTS courses_external_table(
     id bigint NOT NULL,
     name varchar(32) NOT NULL,
     grade varchar(32) NOT NULL,
     submission_date  timestamp NOT NULL,
     PRIMARY KEY (id)
     )
    ENGINE='mysql'  
    TABLE_PROPERTIES='{  
    "url":"jdbc:mysql://mysql-vpc-address:3306/test_adb",  
    "tablename":"courses",  
    "username":"mysql-user-name",  
    "password":"mysql-user-password",
    "charset":"utf8"
    }';

    Parameter

    Deskripsi

    ENGINE='mysql'

    Mesin penyimpanan yang digunakan untuk tabel eksternal. Dalam contoh ini, MySQL digunakan.

    TABLE_PROPERTIES

    Informasi koneksi yang digunakan oleh kluster AnalyticDB for MySQL untuk mengakses data di dalam database MySQL yang dikelola sendiri pada ECS.

    url

    primary private IP address atau titik akhir VPC dari instance ECS, dan nama database tujuan. Dalam contoh ini, nama database tujuan adalah test_adb. Lakukan langkah-langkah berikut untuk melihat titik akhir VPC dari instance ECS:

    1. Masuk ke Konsol ECS dan temukan instance ECS.

    2. Di bagian Network Information pada tab Instance Details, lihat nilai Primary Private IP Address dari instance ECS.

    Format: "jdbc:mysql://mysql-vpc-address:3306/ecs-database-name".

    Contoh: jdbc:mysql://192.168.128.***:3306/test_adb.

    tablename

    Nama tabel tujuan di dalam database MySQL yang dikelola sendiri pada ECS. Dalam contoh ini, courses digunakan.

    username

    Nama pengguna akun database yang digunakan untuk terhubung ke database MySQL yang dikelola sendiri pada ECS.

    password

    Kata sandi akun database.

    charset

    Set karakter yang digunakan oleh database sumber. Nilai valid:

    • gbk

    • utf8 (default)

    • utf8mb4

  5. Ekspor data dari kluster AnalyticDB for MySQL ke database MySQL yang dikelola sendiri pada ECS.

    Eksekusi pernyataan berikut:

    REPLACE INTO courses_external_table
    SELECT * FROM courses;

Apa yang harus dilakukan selanjutnya

Setelah data diekspor, Anda dapat terhubung ke database MySQL yang dikelola sendiri bernama test_adb. Kemudian, eksekusi pernyataan berikut untuk memeriksa apakah data telah diimpor dari tabel sumber ke tabel tujuan courses:

SELECT * FROM courses LIMIT 100;