All Products
Search
Document Center

PolarDB:Terhubung ke database

Last Updated:Jun 22, 2026

Anda dapat terhubung ke instans PolarDB-X menggunakan Data Management (DMS), MySQL CLI, klien pihak ketiga yang kompatibel dengan MySQL, atau kode aplikasi Anda.

Prasyarat

Sebelum terhubung ke database PolarDB-X, lengkapi langkah-langkah berikut:

  • Dapatkan titik akhir database dan port

    Buka Konsol PolarDB for Distributed. Pada daftar Instances, klik ID instans target untuk melihat informasi dasarnya. Di bagian Connection Information, temukan titik akhir database dan port-nya.

    Catatan
    • Pilih jaringan Intranet atau External network berdasarkan lingkungan akses Anda.

      • Jika Anda menggunakan instance ECS untuk mengakses PolarDB-X, dan instance ECS serta PolarDB-X berada dalam VPC yang sama, pilih Internal Network untuk mendapatkan performa terbaik dari PolarDB-X.

      • Jika Anda mengakses PolarDB-X dari lingkungan lokal, pilih Internet. Anda dapat memperoleh titik akhir publik dengan mengklik Apply for Public IP Address di sebelah kanan. Internet adalah internet. Mengakses instans PolarDB-X melalui Internet tidak akan memberikan performa optimal.

    • Anda tidak dapat menggunakan Internal Network untuk terhubung ke instans PolarDB-X dari virtual host atau instance Simple Application Server.

  • Buat akun database.

  • Konfigurasikan daftar putih instans

    Buka Konsol PolarDB for Distributed dan klik ID instans target pada daftar Instances. Di panel navigasi kiri, pilih Configuration and Management > Security Management. Pada halaman yang muncul, Configuration daftar putih IP atau klik Add Whitelist. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih.

    Pada halaman pengaturan daftar putih, Anda dapat melihat daftar kelompok daftar putih dan mengonfigurasi daftar putih menggunakan tombol yang sesuai.

    Catatan
    • Jika Anda menggunakan instance ECS untuk mengakses PolarDB-X dan instance ECS berada dalam VPC yang sama dengan instans PolarDB-X, tambahkan Alamat IP pribadi instance ECS ke kelompok daftar putih IP baru.

    • Jika Anda menggunakan instance ECS untuk mengakses PolarDB-X tetapi instance ECS berada dalam VPC yang berbeda dari instans PolarDB-X, tambahkan Alamat IP publik instance ECS ke kelompok daftar putih IP baru.

    • Jika Anda mengakses PolarDB-X dari lingkungan on-premises, tambahkan Alamat IP publik lingkungan Anda ke kelompok daftar putih IP baru.

      Untuk memperoleh Alamat IP publik lingkungan on-premises Anda, lakukan salah satu langkah berikut:

      • Untuk sistem operasi Linux: Buka terminal, masukkan perintah curl ifconfig.me, lalu tekan Enter.

      • Untuk Windows: Buka Command Prompt, masukkan perintah curl ip.me, lalu tekan Enter.

      • macOS: Buka Terminal, masukkan perintah curl ifconfig.me, lalu tekan Enter.

      Jika jaringan lokal Anda berada di belakang proxy, alamat IP yang Anda peroleh mungkin bukan alamat IP publik aktual Anda. Anda dapat menambahkan rentang alamat IP 0.0.0.0/0 ke daftar putih instans PolarDB-X. Setelah berhasil terhubung ke instans, jalankan perintah SHOW PROCESSLIST; untuk memperoleh alamat IP publik aktual Anda dan tambahkan ke daftar putih instans. Kemudian, hapus rentang alamat IP 0.0.0.0/0 dari daftar putih.

      39158 | aurora              | 100.104.108.247:39236 | information_schema | Sleep  |          47 |              | NULL
                                          Actual public IP address
      268459868 | polardb_mysql_account | 47.94.74.xxx:39160    | NULL               | Query  |           0 | starting     | SHOW PROCESSLIST
    • Rentang alamat IP 0.0.0.0/0 mengizinkan akses dari semua sumber. Menambahkan rentang ini ke daftar putih instans menciptakan risiko keamanan tinggi. Jangan tambahkan ke daftar putih kecuali benar-benar diperlukan.

Terhubung ke database

Anda dapat terhubung ke instans database dengan beberapa cara, tergantung pada beban kerja Anda. Bagian berikut menunjukkan contoh umum.

DMS

Data Management (DMS) adalah tool manajemen data grafis yang disediakan oleh Alibaba Cloud. Tool ini mengintegrasikan serangkaian layanan, termasuk manajemen data, manajemen skema, otorisasi pengguna, audit keamanan, tren data, pelacakan data, grafik BI, optimasi performa, dan manajemen server. Anda dapat menggunakan DMS untuk mengelola instans PolarDB-X secara langsung tanpa memerlukan tool lain.

  1. Buka Konsol PolarDB for Distributed. Pada daftar Instances, klik ID instans target untuk membuka halaman detailnya. Di pojok kanan atas halaman, klik Log On to Database.

  2. Pada kotak dialog, masukkan Database Account dan Database Password untuk instans PolarDB-X, lalu klik Search.

    Catatan
    • Pertama kali login menggunakan DMS, mode kontrol secara default adalah Flexible Management. Setelah login, Anda dapat mengubah mode kontrol dengan mengedit instans. Untuk informasi selengkapnya, lihat Edit instance information dan Control modes.

    • Setelah mengonfigurasi parameter login, Anda dapat mengklik Test Connectivity di pojok kiri bawah. Jika koneksi gagal, tinjau pesan error dan periksa informasi yang Anda masukkan, seperti akun atau kata sandi.

    • Sistem secara otomatis mencoba menambahkan alamat IP server DMS ke daftar putih instans PolarDB-X. Jika upaya ini gagal, Anda harus menambahkan alamat IP tersebut secara manual.

  3. Setelah login, instans PolarDB-X akan muncul di bagian Connected Instances pada panel navigasi kiri. Anda kemudian dapat mengelola instans tersebut.

GUI client

PolarDB-X mendukung koneksi dari klien pihak ketiga berikut. Anda dapat mengunduh klien ini dari situs web resminya.

  • MySQL Workbench (Direkomendasikan)

  • SQLyog

  • Sequel Pro

  • Navicat for MySQL

Catatan

Klien GUI pihak ketiga mendukung operasi database dasar, termasuk CRUD dan DDL. Fitur lanjutan yang spesifik klien mungkin tidak didukung oleh PolarDB-X.

Langkah-langkah berikut menggunakan MySQL Workbench 8.0.29 sebagai contoh. Klien lain mengikuti prosedur serupa.

  1. Instal MySQL Workbench. Untuk tautan unduhan resmi, lihat halaman unduhan MySQL Workbench.

  2. Buka MySQL Workbench dan pilih Database > Connect to Database.

  3. Masukkan informasi koneksi dan klik OK.

    Parameter

    Deskripsi

    Contoh

    Hostname

    Titik akhir database.

    pxc-xxx.polarx.rds.aliyuncs.com

    Port

    Nomor port yang sesuai dengan titik akhir database.

    Catatan

    Port default adalah 3306.

    3306

    Username

    Akun database.

    polardb_x_user

    Password

    Kata sandi untuk akun database.

    Pass***233

MySQL CLI

Jika klien MySQL telah diinstal pada server Anda, Anda dapat menggunakan command line untuk terhubung ke instans PolarDB-X.

Sintaks:

mysql -h<endpoint> -P<port> -u<database_username> -p<database_password> -D<database_name>

Contoh:

mysql -hpxc-xxx.polarx.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233 -Dtest_db

Parameter

Deskripsi

Contoh

-h

Titik akhir database.

pxc-xxx.polarx.rds.aliyuncs.com

-P

Nomor port yang sesuai dengan titik akhir database.

Catatan
  • Port default adalah 3306.

  • Jika Anda menggunakan port default, Anda dapat menghilangkan parameter ini.

3306

-u

Akun database.

polardb_x_user

-p

Kata sandi untuk akun database.

Catatan

Parameter ini wajib.

  • Jika Anda tidak menentukan parameter ini, Anda akan diminta lagi untuk memasukkan kata sandi pada prompt Enter password.

  • Jika Anda menentukan parameter ini, jangan beri spasi antara -p dan kata sandi database.

Pass***233

-D

Nama database yang ingin Anda hubungi.

Catatan

Parameter ini opsional.

test_db

Aplikasi

Terhubung ke instans PolarDB-X dari aplikasi mirip dengan terhubung ke database MySQL standar, hanya memerlukan titik akhir database, port, akun, dan kata sandi. Contoh berikut menunjukkan cara mengakses instans PolarDB-X menggunakan bahasa pemrograman umum:

Java

Contoh ini menggunakan proyek Maven dan driver JDBC MySQL untuk terhubung ke instans PolarDB-X.

  1. Pertama, Anda perlu menambahkan dependensi driver JDBC MySQL ke file pom.xml. Berikut contoh kodenya:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
  2. Terhubung ke instans. Ganti parameter <HOST>, nomor port, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME>, dan <YOUR_TABLE_COLUMN_NAME>.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    public class DatabaseConnection {
       public DatabaseConnection() {
       }
       public static void main(String[] args) {
          // Titik akhir instans PolarDB-X, port, dan nama database
          String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC";
          // Akun database
          String user = "<USER>";
          // Kata sandi database
          String password = "<PASSWORD>";
          try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             // Tabel untuk dikueri
             ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`");
             while(rs.next()) {
                // Kolom untuk diambil
                System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
             }
             rs.close();
             stmt.close();
             conn.close();
          } catch (Exception var7) {
             var7.printStackTrace();
          }
       }
    }

Python

Contoh ini menggunakan Python 3 dan library PyMySQL untuk terhubung ke instans PolarDB-X.

  1. Instal library PyMySQL. Jika belum terinstal, jalankan perintah berikut:

    pip3 install PyMySQL
  2. Terhubung ke instans. Ganti parameter <HOST>, nomor port, <USER>, <PASSWORD>, <DATABASE>, dan <YOUR_TABLE_NAME>.

    import pymysql
    # Parameter koneksi
    host = '<HOST>'  # Titik akhir instans PolarDB-X
    port = 3306  # Port default adalah 3306
    user = '<USER>'  # Akun database
    password = '<PASSWORD>'  # Kata sandi database
    database = '<DATABASE>'  # Nama database target
    try:
        # Buat koneksi database
        connection = pymysql.connect(
            host=host,
            port=port,
            user=user,
            passwd=password,
            db=database
        )
        # Buat cursor
        with connection.cursor() as cursor:
            # Jalankan kueri SQL
            sql = "SELECT * FROM `<YOUR_TABLE_NAME>`"  # Tabel untuk dikueri
            cursor.execute(sql)
            # Ambil hasil kueri
            results = cursor.fetchall()
            for row in results:
                print(row)
    finally:
        # Tutup koneksi database
        if 'connection' in locals() and connection.open:
            connection.close()
                            

Go

Contoh ini menggunakan Go 1.23.0, paket database/sql, dan driver go-sql-driver/mysql untuk terhubung ke instans PolarDB-X.

  1. Pertama, Anda perlu menginstal driver go-sql-driver/mysql. Anda dapat menginstalnya dengan menjalankan perintah berikut:

    go get -u github.com/go-sql-driver/mysql
  2. Terhubung ke instans. Ganti parameter <HOST>, nomor port, <USER>, <PASSWORD>, <DATABASE>, dan <YOUR_TABLE_NAME>.

    package main
    import (
        "database/sql"
        "fmt"
        "log"
        _ "github.com/go-sql-driver/mysql"
    )
    func main() {
        // Parameter koneksi
        dbHost := "<HOST>"       // Titik akhir instans PolarDB-X
        dbPort := "3306"         // Port default adalah 3306
        dbUser := "<USER>"       // Akun database
        dbPass := "<PASSWORD>"   // Kata sandi database
        dbName := "<DATABASE>"   // Nama database target
        // Bangun DSN (Data Source Name)
        dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbPort, dbName)
        // Buka koneksi database
        db, err := sql.Open("mysql", dsn)
        if err != nil {
            log.Fatalf("Gagal terhubung ke database: %v", err)
        }
        defer db.Close()
        // Ping server untuk menguji koneksi
        err = db.Ping()
        if err != nil {
            log.Fatalf("Gagal ping database: %v", err)
        }
        // Kueri versi server
        var result string
        err = db.QueryRow("SELECT VERSION()").Scan(&result)
        if err != nil {
            log.Fatalf("Gagal menjalankan kueri: %v", err)
        }
        // Cetak versi database
        fmt.Printf("Terhubung ke database, versi: %s\n", result)
        // Jalankan kueri SQL
        rows, err := db.Query("SELECT * FROM `<YOUR_TABLE_NAME>`") // Tabel untuk dikueri
        if err != nil {
            log.Fatalf("Gagal menjalankan kueri: %v", err)
        }
        defer rows.Close()
        // Proses hasil kueri
        for rows.Next() {
            var id int
            var name string
            if err := rows.Scan(&id, &name); err != nil {
                log.Fatalf("Gagal memindai baris: %v", err)
            }
            fmt.Printf("ID: %d, Nama: %s\n", id, name)
        }
        // Periksa kesalahan selama iterasi baris
        if err := rows.Err(); err != nil {
            log.Fatalf("Kesalahan selama iterasi: %v", err)
        }
    }
    

FAQ

ECS tidak dapat terhubung ke instansPolarDB-X

Ikuti langkah-langkah berikut untuk memecahkan masalah:

  1. Periksa apakah instans PolarDB-X berada dalam status Running.

  2. Verifikasi titik akhir dan port database serta akun dan kata sandi.

  3. Periksa faktor jaringan dengan menjalankan ping <database endpoint> atau telnet <database endpoint> <port> di instance ECS untuk menguji konektivitas jaringan.

  4. Jika Anda menggunakan Internal Network:

    1. Periksa apakah instance ECS dan instans PolarDB-X berada dalam VPC yang sama. Jika tidak, Anda tidak dapat menggunakan Internal Network. Anda dapat menggunakan salah satu metode berikut untuk menempatkan instance ECS dan PolarDB-X dalam VPC yang sama:

      • Ganti VPC instance ECS.

      • Jika instans PolarDB-X menggunakan VPC default, Anda dapat mengganti VPC instans PolarDB-X.

      • Gunakan Cloud Enterprise Network (CEN) untuk mengaktifkan komunikasi antar-VPC. Untuk informasi selengkapnya, lihat Hubungkan VPC dalam wilayah yang sama.

    2. Periksa apakah Alamat IP pribadi atau Blok CIDR instance ECS telah ditambahkan ke daftar putih instans PolarDB-X. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih instans.

  5. Jika Anda menggunakan Internet, periksa apakah Alamat IP publik instance ECS telah ditambahkan ke daftar putih instans PolarDB-X. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih instans.

Catatan

Anda tidak dapat menggunakan Internal Network untuk terhubung ke instans PolarDB-X dari virtual host atau instance Simple Application Server.

Tidak dapat terhubung ke instans PolarDB-X dari lingkungan lokal

Ikuti langkah-langkah berikut untuk memecahkan masalah:

  1. Periksa apakah instans PolarDB-X berada dalam status Running.

  2. Verifikasi titik akhir dan port database serta akun dan kata sandi.

    Catatan

    Anda harus menggunakan Internet untuk terhubung dari lingkungan on-premises. Internal Network hanya dapat digunakan ketika klien dan instans PolarDB-X berada dalam VPC yang sama.

  3. Untuk memeriksa masalah jaringan, Anda dapat menjalankan ping <database endpoint> atau telnet <database endpoint> <port> di lingkungan lokal Anda untuk menguji konektivitas jaringan.

  4. Periksa apakah Alamat IP publik atau Blok CIDR lingkungan on-premises Anda telah ditambahkan ke daftar putih instans PolarDB-X. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih instans.

    Untuk memperoleh Alamat IP publik lingkungan on-premises Anda, lakukan salah satu langkah berikut:

    • Untuk sistem operasi Linux: Buka terminal, masukkan perintah curl ifconfig.me, lalu tekan Enter.

    • Untuk Windows: Buka Command Prompt, masukkan perintah curl ip.me, lalu tekan Enter.

    • macOS: Buka Terminal, masukkan perintah curl ifconfig.me, lalu tekan Enter.

    Jika jaringan lokal Anda berada di belakang proxy, alamat IP yang Anda peroleh mungkin bukan alamat IP publik aktual Anda. Anda dapat menambahkan rentang alamat IP 0.0.0.0/0 ke daftar putih instans PolarDB-X. Setelah berhasil terhubung ke instans, jalankan perintah SHOW PROCESSLIST; untuk memperoleh alamat IP publik aktual Anda dan tambahkan ke daftar putih instans. Kemudian, hapus rentang alamat IP 0.0.0.0/0 dari daftar putih.

    39158 | aurora              | 100.104.108.247:39236 | information_schema | Sleep  |          47 |              | NULL
                                        Actual public IP address
    268459868 | polardb_mysql_account | 47.94.74.xxx:39160    | NULL               | Query  |           0 | starting     | SHOW PROCESSLIST

Tidak dapat terhubung ke instans PolarDB-X, dan Anda menerima error: Access denied for user 'xxx'@'xxx' (using password: YES)

Pesan error seperti "Access denied for user 'xxx'@'xxx' (using password: YES)" menunjukkan akun database atau kata sandi salah. Verifikasi kredensial Anda. Anda dapat membuka Konsol PolarDB for Distributed dan memilih Configuration and Management > Accounts untuk mengelola akun database dan kata sandi Anda.

Tidak dapat terhubung ke instans PolarDB-X: error 'Unknown MySQL server host 'xxx''

Error ini menunjukkan bahwa titik akhir database salah. Pastikan titik akhir benar dan mengikuti format pxc-xxx.polarx.rds.aliyuncs.com. Anda dapat membuka Konsol PolarDB for Distributed dan menemukan titik akhir database Anda di bagian Basic Information > Connection Information.

Tidak dapat terhubung ke instansPolarDB-X, dengan error: Can't connect to MySQL server on 'xxx' atau Connection timed out

Hal ini dapat terjadi jika IP publik lingkungan Anda tidak ditambahkan ke daftar putih instans PolarDB-X, atau entri daftar putih salah.

Untuk memperoleh Alamat IP publik lingkungan on-premises Anda, lakukan salah satu langkah berikut:

  • Untuk sistem operasi Linux: Buka terminal, masukkan perintah curl ifconfig.me, lalu tekan Enter.

  • Untuk Windows: Buka Command Prompt, masukkan perintah curl ip.me, lalu tekan Enter.

  • macOS: Buka Terminal, masukkan perintah curl ifconfig.me, lalu tekan Enter.

Jika jaringan lokal Anda berada di belakang proxy, alamat IP yang Anda peroleh mungkin bukan alamat IP publik aktual Anda. Anda dapat menambahkan rentang alamat IP 0.0.0.0/0 ke daftar putih instans PolarDB-X. Setelah berhasil terhubung ke instans, jalankan perintah SHOW PROCESSLIST; untuk memperoleh alamat IP publik aktual Anda dan tambahkan ke daftar putih instans. Kemudian, hapus rentang alamat IP 0.0.0.0/0 dari daftar putih.

39158 | aurora              | 100.104.108.247:39236 | information_schema | Sleep  |          47 |              | NULL
                                    Actual public IP address
268459868 | polardb_mysql_account | 47.94.74.xxx:39160    | NULL               | Query  |           0 | starting     | SHOW PROCESSLIST

Praktik terbaik timeout database

Jika aplikasi Anda menggunakan framework Object-Relational Mapping (ORM) umum, seperti Spring Boot, MyBatis, dan driver JDBC, framework tersebut sering memungkinkan Anda mengatur timeout sisi klien untuk kueri SQL di beberapa lapisan, seperti transaksi, pernyataan SQL, dan I/O jaringan. Contohnya termasuk transaction_timeout Spring, statement_timeout MyBatis, dan query_timeout driver JDBC MySQL.

Pada dasarnya, sebagian besar mekanisme timeout sisi klien ini perlu menjalankan pernyataan database Kill untuk menginterupsi kueri. Dalam skenario database terdistribusi, pernyataan Kill mahal untuk dieksekusi, dan eksekusi yang sering mengonsumsi sumber daya sistem database secara signifikan. Oleh karena itu, tidak disarankan untuk menggunakan mekanisme timeout ini secara ekstensif.

Sebagai praktik terbaik, aplikasi Anda harus langsung menggunakan parameter socket_timeout (timeout soket jaringan) dalam URL JDBC untuk menentukan timeout eksekusi SQL. Hal ini karena parameter tersebut mengandalkan mekanisme timeout protokol TCP sendiri, dan pernyataan Kill tidak dipicu saat terjadi timeout. Contohnya:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  <property name="url" value="jdbc:mysql://pxc-*****.public.polarx.rds.aliyuncs.com:3306/doc_test?socketTimeout=60000" />
  ...
  <property name="asyncInit" value="true" />
</bean>