All Products
Search
Document Center

AnalyticDB:Akses ApsaraDB RDS for MySQL

Last Updated:Jul 06, 2025

AnalyticDB for MySQL memungkinkan Anda mengakses ApsaraDB RDS for MySQL dalam satu akun Alibaba Cloud atau lintas akun. Anda dapat mengakses ApsaraDB RDS for MySQL melalui antarmuka jaringan elastis (ENI) atau koneksi SSL. Dibandingkan dengan akses berbasis ENI, akses berbasis SSL menyediakan enkripsi koneksi jaringan dan menjamin keamanan data yang lebih tinggi. Topik ini menjelaskan cara mengakses ApsaraDB RDS for MySQL melalui ENI dan koneksi SSL.

Prasyarat

Persiapkan data

Buat database di instans ApsaraDB RDS for MySQL, buat tabel di database tersebut, lalu tulis data ke tabel ini. Contoh pernyataan:

CREATE DATABASE `test`;

CREATE TABLE `test`.`persons` (
  `id` int(11) DEFAULT NULL,
  `first_name` varchar(32) DEFAULT NULL,
  `laster_name` varchar(32) DEFAULT NULL,
  `age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
;

INSERT INTO persons VALUES(1,'a','b',5);
INSERT INTO persons VALUES(2,'c','d',6);
INSERT INTO persons VALUES(3,'e','f',7);

Akses ApsaraDB RDS for MySQL melalui ENI

Unggah driver dan paket JAR yang diperlukan untuk tugas Spark

  1. Tulis program yang digunakan untuk mengakses tabel di instans ApsaraDB RDS for MySQL. Kemudian, kompilasi program menjadi paket JAR yang diperlukan untuk tugas Spark. Dalam contoh ini, paket JAR diberi nama rds_test.jar. Contoh kode:

    package com.aliyun.spark
    import org.apache.spark.sql.SparkSession
    object SparkRDS {
      def main(args: Array[String]): Unit = {
        val sparkSession = SparkSession.builder()
        .appName("rds mysql test")
        .getOrCreate()
        // Titik akhir internal instans ApsaraDB RDS for MySQL. Untuk informasi lebih lanjut, lihat Lihat dan ubah titik akhir dan nomor port. 
        val url = "jdbc:mysql://rm-bp11mpql1e01****.mysql.rds.aliyuncs.com"
        // Nama tabel di instans ApsaraDB RDS for MySQL. Tentukan nama dalam format db_name.table_name. 
        val dbtable = "test.persons"
        // Akun database yang digunakan untuk terhubung ke database ApsaraDB RDS for MySQL. 
        val user = "mysql_username"
        // Kata sandi akun database. 
        val password = "mysql_password"
        val jdbcDF = sparkSession.read
        .format("jdbc")
        .option("url", url)
        .option("driver", "com.mysql.jdbc.Driver")
        .option("dbtable", dbtable)
        .option("user", user)
        .option("password", password)
        .load()
        jdbcDF.show()
      }
    }
  2. Unduh driver yang kompatibel dengan versi mesin instans ApsaraDB RDS for MySQL dari https://dev.mysql.com/downloads/connector/j/.

    Dalam contoh ini, mysql-connector-java-8.0.11.jar diunduh.

  3. Unggah paket JAR dan driver ke OSS. Untuk informasi lebih lanjut, lihat Unggah objek.

Akses ApsaraDB RDS for MySQL dalam satu akun Alibaba Cloud

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster.

  2. Di panel navigasi di sebelah kiri, pilih Job Development > Spark JAR Development.

  3. Pilih grup sumber daya tugas dan jenis tugas untuk tugas Spark. Dalam contoh ini, jenis Batch dipilih.

  4. Jalankan kode berikut di editor Spark:

    {
        "name": "rds-mysql-example",
        "jars": [
            "oss://testBucketName/mysql-connector-java-8.0.11.jar"
        ],
        "file": "oss://testBucketName/rds_test.jar",
        "className": "com.aliyun.spark.SparkRDS",
        "conf": {
            "spark.adb.eni.enabled": "true",
            "spark.adb.eni.vswitchId": "vsw-bp17jqw3lrrobn6y****",
            "spark.adb.eni.securityGroupId": "sg-bp163uxgt4zandx****",
            "spark.driver.resourceSpec": "small",
            "spark.executor.instances": 1,
            "spark.executor.resourceSpec": "small"
        }
    }

    Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    name

    Nama tugas Spark.

    jars

    Jalur OSS driver ApsaraDB RDS for MySQL.

    Dalam contoh ini, jalur OSS paket mysql-connector-java-8.0.11.jar digunakan.

    file

    Jalur OSS paket JAR yang diperlukan untuk tugas Spark.

    className

    Kelas entri aplikasi Java atau Scala.

    Dalam contoh ini, com.aliyun.spark.SparkRDS digunakan.

    spark.adb.eni.enabled

    Menentukan apakah ENI diaktifkan.

    spark.adb.eni.vswitchId

    ID vSwitch instans ApsaraDB RDS for MySQL. Untuk melihat ID vSwitch, arahkan kursor ke VPC pada halaman Database Connection.

    spark.adb.eni.securityGroupId

    ID grup keamanan tempat instans ApsaraDB RDS for MySQL ditambahkan. Untuk informasi lebih lanjut, lihat Konfigurasikan grup keamanan untuk instans ApsaraDB RDS for MySQL.

    conf

    Parameter konfigurasi yang diperlukan untuk tugas Spark, yang mirip dengan Apache Spark. Parameter harus dalam format key:value. Pisahkan beberapa parameter dengan koma (,). Untuk informasi lebih lanjut, lihat Parameter konfigurasi aplikasi Spark.

  5. Klik Run Now.

  6. Setelah tugas Spark dijalankan, lihat data tabel ApsaraDB RDS for MySQL di log tugas Spark. Untuk informasi lebih lanjut, lihat bagian "Lihat informasi tentang aplikasi Spark" dari topik editor Spark.

Akses ApsaraDB RDS for MySQL lintas akun Alibaba Cloud

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster.

  2. Di panel navigasi di sebelah kiri, pilih Job Development > Spark JAR Development.

  3. Pilih grup sumber daya tugas dan jenis tugas untuk tugas Spark. Dalam contoh ini, jenis Batch dipilih.

  4. Jalankan kode berikut di editor Spark:

    {
        "name": "rds-mysql-example",
        "jars": [
            "oss://testBucketName/mysql-connector-java-8.0.11.jar"
        ],
        "file": "oss://testBucketName/rds_test.jar",
        "className": "com.aliyun.spark.SparkRDS",
        "conf": {
            "spark.adb.eni.enabled": "true",
            "spark.adb.eni.vswitchId": "vsw-bp17jqw3lrrobn6y****",
            "spark.adb.eni.securityGroupId": "sg-bp163uxgt4zandx****",
            "spark.driver.resourceSpec": "small",
            "spark.executor.instances": 1,
            "spark.executor.resourceSpec": "small"
            "spark.adb.eni.roleArn":"acs:ram::testAccountID:role/testUserName"
        }
    }

    Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    spark.adb.eni.roleArn

    Peran RAM yang digunakan untuk mengakses ApsaraDB RDS for MySQL lintas akun Alibaba Cloud. Pisahkan beberapa peran dengan koma (,). Tentukan parameter dalam format acs:ram::testAccountID:role/testUserName.

    • testAccountID: ID akun Alibaba Cloud yang memiliki sumber data ApsaraDB RDS for MySQL.

    • testUserName: nama peran RAM yang dibuat saat Anda melakukan otorisasi lintas akun Alibaba Cloud. Untuk informasi lebih lanjut, lihat bagian "Lakukan otorisasi lintas akun Alibaba Cloud" dari topik Lakukan otorisasi.

    Untuk informasi lebih lanjut tentang parameter, lihat tabel parameter sebelumnya.

  5. Klik Run Now.

  6. Setelah tugas Spark dijalankan, lihat data tabel ApsaraDB RDS for MySQL di log tugas Spark. Untuk informasi lebih lanjut, lihat bagian "Lihat informasi tentang aplikasi Spark" dari topik editor Spark.

Akses ApsaraDB RDS for MySQL melalui koneksi SSL

Sebelum mengakses ApsaraDB RDS for MySQL melalui koneksi SSL, pastikan bahwa enkripsi SSL diaktifkan untuk instans ApsaraDB RDS for MySQL dan koneksi ke titik akhir internal dienkripsi. Untuk informasi lebih lanjut, lihat Konfigurasikan fitur enkripsi SSL.

Unduh sertifikat CA dari konsol ApsaraDB RDS dan unggah sertifikat ke OSS

  1. Masuk ke Konsol ApsaraDB RDS. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Instances. Pada halaman yang muncul, klik ID instans yang ingin Anda lihat.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Klik Download CA Certificate.

    Penting

    Masa berlaku default sertifikat CA adalah satu tahun. Jika sertifikat CA kedaluwarsa, Anda harus membuat sertifikat baru. Anda tidak dapat menggunakan sertifikat CA yang kedaluwarsa untuk mengakses ApsaraDB RDS for MySQL melalui koneksi SSL.

  4. Ekstrak paket sertifikat CA dan unggah file sertifikat JKS yang telah diekstraksi ke OSS. Untuk informasi lebih lanjut, lihat Unggah objek.

Unggah driver dan paket JAR yang diperlukan untuk tugas Spark

  1. Tulis program yang digunakan untuk mengakses tabel di instans ApsaraDB RDS for MySQL. Kemudian, kompilasi program menjadi paket JAR yang diperlukan untuk tugas Spark. Dalam contoh ini, paket JAR diberi nama test.jar. Contoh kode:

    package org.example
    import org.apache.spark.sql.SparkSession
    
    object Test {
      def main(args: Array[String]): Unit = {
        // Jalur OSS file sertifikat JKS, dalam format oss://testBucketName/folder/ApsaraDB-CA-Chain.jks. 
        val JKS_FILE_PATH = args(0)
        
        // Akun database yang digunakan untuk terhubung ke database ApsaraDB RDS for MySQL. 
        val USERNAME = args(1)
    
        // Kata sandi akun database. 
        val PASSWORD = args(2)
    
        Nama database ApsaraDB RDS for MySQL. 
        val DATABASE_NAME = args(3)
    
        // Nama tabel di instans ApsaraDB RDS for MySQL. 
        val TABLE_NAME = args(4)
        // Titik akhir internal instans ApsaraDB RDS for MySQL. 
        val mysqlUrl = "jdbc:mysql://rm-bp11mpql1e01****.mysql.rds.aliyuncs.com:3306/?" +
          "useSSL=true" +
          s"&trustCertificateKeyStoreUrl=file:///tmp/testBucketName/folder/ApsaraDB-CA-Chain.jks" +
          "&trustCertificateKeyStorePassword=apsaradb" +
          "&trustCertificateKeyStoreType=JKS" +
        
        val spark = SparkSession.builder().getOrCreate()
    
         spark.read.format("jdbc")
          .option("driver", "com.mysql.cj.jdbc.Driver")
          .option("url", mysqlUrl)
          .option("user", USERNAME)
          .option("password",  PASSWORD)
          .option("dbtable", s"${DATABASE_NAME}.${TABLE_NAME}")
          .load()
          .show()
      }
    }

    Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    useSSL

    Menentukan apakah enkripsi SSL diaktifkan. Nilai yang valid:

    • true

    • false (default)

    Dalam contoh ini, true dipilih.

    trustCertificateKeyStoreUrl

    Jalur lokal file sertifikat JKS, dalam format file:///tmp/<JKS_FILE_PATH>. JKS_FILE_PATH menentukan jalur OSS file sertifikat JKS.

    Sebagai contoh, jika jalur OSS file sertifikat JKS adalah oss://testBucketName/folder/ApsaraDB-CA-Chain.jks, jalur lokal file sertifikat JKS adalah file:///tmp/testBucketName/folder/ApsaraDB-CA-Chain.jks.

    trustCertificateKeyStorePassword

    Kata sandi file sertifikat JKS. Nilai parameter ini adalah apsaradb.

    trustCertificateKeyStoreType

    Format penyimpanan file sertifikat. Nilai parameter ini adalah JKS.

  2. Unggah paket test.jar ke OSS. Untuk informasi lebih lanjut, lihat Unggah objek.

Akses ApsaraDB RDS for MySQL dalam satu akun Alibaba Cloud

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster.

  2. Di panel navigasi di sebelah kiri, pilih Job Development > Spark JAR Development.

  3. Pilih grup sumber daya tugas dan jenis tugas untuk tugas Spark. Dalam contoh ini, jenis Batch dipilih.

  4. Jalankan kode berikut di editor Spark:

    {
      "file": "oss://testBucketName/test.jar",
    	"className": "org.example.Test",
      "name": "MYSQL PEM Test",
      "conf": {
            "spark.kubernetes.driverEnv.ADB_SPARK_DOWNLOAD_FILES": "oss://testBucketName/folder/ApsaraDB-CA-Chain.jks",
    	      "spark.executorEnv.ADB_SPARK_DOWNLOAD_FILES": "oss://testBucketName/folder/ApsaraDB-CA-Chain.jks",
            "spark.driver.resourceSpec": "small",
            "spark.executor.instances": 1,
            "spark.executor.resourceSpec": "small",
            "spark.adb.eni.enabled": "true",
    	      "spark.adb.eni.vswitchId": "vsw-bp17jqw3lrrobn6y****",
    	      "spark.adb.eni.securityGroupId": "sg-bp163uxgt4zandx****"
        }
    }
    

    Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    name

    Nama tugas Spark.

    file

    Jalur OSS paket JAR yang diperlukan untuk tugas Spark.

    className

    Kelas entri aplikasi Java atau Scala.

    Dalam contoh ini, org.example.Test digunakan.

    spark.kubernetes.driverEnv.ADB_SPARK_DOWNLOAD_FILES

    Parameter driver Spark, yang menentukan jalur OSS file sertifikat JKS. Pisahkan beberapa file sertifikat JKS dengan koma (,). Contoh: spark.kubernetes.driverEnv.ADB_SPARK_DOWNLOAD_FILES: "oss://testBucketName/a.jks,oss://testBucketName/b.jks".

    spark.executorEnv.ADB_SPARK_DOWNLOAD_FILES

    Parameter executor Spark, yang menentukan jalur OSS file sertifikat JKS. Pisahkan beberapa file sertifikat JKS dengan koma (,). Contoh: spark.executor.ADB_SPARK_DOWNLOAD_FILES: "oss://testBucketName/a.jks,oss://testBucketName/b.jks".

    spark.adb.eni.enabled

    Menentukan apakah ENI diaktifkan.

    spark.adb.eni.vswitchId

    ID vSwitch instans ApsaraDB RDS for MySQL. Untuk melihat ID vSwitch, arahkan kursor ke VPC pada halaman Database Connection.

    spark.adb.eni.securityGroupId

    ID grup keamanan tempat instans ApsaraDB RDS for MySQL ditambahkan. Untuk informasi lebih lanjut, lihat Konfigurasikan grup keamanan untuk instans ApsaraDB RDS for MySQL.

    conf

    Parameter konfigurasi yang diperlukan untuk tugas Spark, yang mirip dengan Apache Spark. Parameter harus dalam format key:value. Pisahkan beberapa parameter dengan koma (,). Untuk informasi lebih lanjut, lihat Parameter konfigurasi aplikasi Spark.

  5. Klik Run Now.

  6. Setelah tugas Spark dijalankan, lihat data tabel ApsaraDB RDS for MySQL di log tugas Spark. Untuk informasi lebih lanjut, lihat bagian "Lihat informasi tentang aplikasi Spark" dari topik editor Spark.

Akses ApsaraDB RDS for MySQL lintas akun Alibaba Cloud

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster.

  2. Di panel navigasi sebelah kiri, pilih Job Development > Spark JAR Development.

  3. Pilih grup sumber daya tugas dan jenis tugas untuk tugas Spark. Dalam contoh ini, jenis Batch dipilih.

  4. Jalankan kode berikut di editor Spark:

    {
      "file": "oss://testBucketName/test.jar",
      "className": "org.example.Test",
      "name": "MYSQL PEM Test",
      "conf": {
            "spark.kubernetes.driverEnv.ADB_SPARK_DOWNLOAD_FILES": "oss://testBucketName/folder/ApsaraDB-CA-Chain.jks",
            "spark.executorEnv.ADB_SPARK_DOWNLOAD_FILES": "oss://testBucketName/folder/ApsaraDB-CA-Chain.jks",
            "spark.driver.resourceSpec": "small",
            "spark.executor.instances": 1,
            "spark.executor.resourceSpec": "small",
            "spark.adb.eni.enabled": "true",
            "spark.adb.eni.vswitchId": "vsw-bp17jqw3lrrobn6y****",
            "spark.adb.eni.securityGroupId": "sg-bp163uxgt4zandx****",
            "spark.adb.eni.roleArn":"acs:ram::testAccountID:role/testUserName", 
        }
    }

    Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    spark.adb.eni.roleArn

    Peran RAM yang digunakan untuk mengakses ApsaraDB RDS for MySQL lintas akun Alibaba Cloud. Pisahkan beberapa peran dengan koma (,). Tentukan parameter dalam format acs:ram::testAccountID:role/testUserName.

    • testAccountID: ID akun Alibaba Cloud yang memiliki sumber data ApsaraDB RDS for MySQL.

    • testUserName: nama peran RAM yang dibuat saat Anda melakukan otorisasi lintas akun Alibaba Cloud. Untuk informasi lebih lanjut, lihat bagian "Lakukan otorisasi lintas akun Alibaba Cloud" dari topik Lakukan otorisasi.

    Untuk informasi lebih lanjut tentang parameter, lihat tabel parameter sebelumnya.

  5. Klik Run Now.

  6. Setelah tugas Spark dijalankan, lihat data tabel ApsaraDB RDS for MySQL di log tugas Spark. Untuk informasi lebih lanjut, lihat bagian "Lihat informasi tentang aplikasi Spark" dari topik editor Spark.