All Products
Search
Document Center

PolarDB:Menghubungkan ke database

Last Updated:Aug 13, 2026

Hubungkan ke kluster PolarDB for MySQL menggunakan DMS, client MySQL, command line, atau kode aplikasi.

Prasyarat

Lakukan tugas berikut sebelum menghubungkan:

  • Dapatkan endpoint dan port database

    Buka PolarDB console. Di Cluster List, klik ID kluster target untuk membuka halaman detail kluster. Di bagian Database Connection, dapatkan endpoint database (primary endpoint, cluster endpoint, dan custom endpoint).image

    Catatan
    • Gunakan cluster endpoint. Port default-nya adalah 3306.

    • Pilih private network atau public network sesuai lingkungan akses Anda.

      • Jika Anda menggunakan instance ECS untuk mengakses PolarDB dan instance ECS serta kluster PolarDB berada dalam VPC yang sama, pilih private network.

      • Jika Anda mengakses PolarDB dari lingkungan on-premises, pilih public network. Untuk mendapatkan endpoint publik, klik Request di sebelah kanan.

    • public network adalah Internet. Mengakses kluster melalui public network mungkin tidak memberikan performa optimal untuk kluster PolarDB Anda.

    • Virtual host dan server aplikasi sederhana tidak dapat terhubung ke PolarDB melalui endpoint private network.

  • Buat akun database

    Buka PolarDB console. Di Cluster List, klik ID kluster target untuk membuka halaman detail kluster. Di halaman Configurations and Management > Account Management, buat akun database.image

    Catatan

    Akun database dikategorikan menjadi privileged accounts dan standard accounts dengan izin berbeda. Buat akun sesuai kebutuhan Anda.

  • Konfigurasikan daftar putih kluster

    Buka PolarDB console. Di Cluster List, klik ID kluster target untuk membuka halaman detail kluster. Di halaman Configurations and Management > Cluster Whitelist, tambahkan daftar putih IP atau security group.

    image

    Catatan
    • Jika Anda menggunakan instance ECS untuk mengakses PolarDB dan instance ECS serta kluster PolarDB berada dalam VPC yang sama, Anda dapat menambahkan alamat IP pribadi instance ECS ke grup daftar putih IP baru, atau menambahkan security group instance ECS ke daftar putih kluster.

    • Jika Anda menggunakan instance ECS untuk mengakses PolarDB, tetapi instance ECS dan kluster PolarDB tidak berada dalam VPC yang sama, Anda dapat menambahkan alamat IP publik instance ECS ke grup daftar putih IP baru, atau menambahkan security group instance ECS ke daftar putih kluster.

    • Jika Anda mengakses PolarDB dari lingkungan on-premises, tambahkan alamat IP publik lingkungan on-premises Anda ke grup daftar putih IP baru.

      Dapatkan alamat IP publik Anda:

      • Sistem operasi Linux: Buka terminal dan jalankan perintah curl ifconfig.me.

      • Sistem operasi Windows: Buka command prompt dan jalankan perintah curl ip.me.

      • Sistem operasi macOS: Buka terminal dan jalankan perintah curl ifconfig.me.

      Jika lingkungan jaringan on-premises Anda menggunakan server proxy atau memiliki konfigurasi serupa lainnya, alamat IP yang diperoleh dengan metode di atas mungkin bukan alamat IP publik sebenarnya. Anda dapat menambahkan rentang alamat IP 0.0.0.0/0 ke daftar putih kluster PolarDB. Setelah berhasil terhubung ke kluster, jalankan perintah SHOW PROCESSLIST; untuk mendapatkan alamat IP publik sebenarnya dan tambahkan ke daftar putih kluster. Kemudian, hapus rentang alamat IP 0.0.0.0/0 dari daftar putih.

      image

    • Rentang alamat IP 0.0.0.0/0 mengizinkan akses dari semua sumber, yang menimbulkan ancaman keamanan signifikan. Jangan tambahkan ke daftar putih kecuali benar-benar diperlukan.

Setelah menyelesaikan prasyarat, hubungkan ke kluster.

Menghubungkan ke kluster database

Pilih metode koneksi yang sesuai dengan kebutuhan Anda:

Gunakan DMS untuk menghubungkan ke kluster

DMS adalah layanan manajemen data grafis dari Alibaba Cloud. Anda dapat mengelola kluster PolarDB langsung di DMS tanpa perlu menginstal alat tambahan.

  1. Buka PolarDB console. Di Cluster List, klik ID kluster target untuk membuka halaman detail kluster. Di pojok kanan atas halaman, klik Log on to Database.image

  2. Masukkan database account dan database password untuk kluster PolarDB for MySQL, lalu klik Log on.image

  3. Setelah login, temukan kluster PolarDB for MySQL di daftar Logged-in Instances pada panel navigasi kiri.image

Gunakan client untuk menghubungkan ke kluster

Anda dapat menggunakan client apa pun yang kompatibel dengan MySQL untuk menghubungkan ke kluster PolarDB. Contoh berikut menggunakan MySQL Workbench 8.0.29.

  1. Unduh dan instal MySQL Workbench.

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

  3. Masukkan informasi koneksi dan klik OK.

    Connection dialog

    Parameter

    Deskripsi

    Contoh

    Hostname

    Endpoint database.

    pc-2***.rwlb.rds.aliyuncs.com

    Port

    Nomor port endpoint database.

    Catatan

    Port default-nya adalah 3306.

    3306

    Username

    Akun database.

    polardb_mysql_user

    Password

    Password akun database.

    Pass***233

Gunakan command line untuk menghubungkan ke kluster

Jika client MySQL telah diinstal di server Anda, jalankan perintah berikut untuk menghubungkan ke kluster PolarDB for MySQL.

Sintaksis:

mysql -h<endpoint> -P<port> -u<database_username> -p<database_user_password>

Contoh:

mysql -h pc-2***.rwlb.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233

Parameter

Deskripsi

Contoh

-h

Endpoint database.

pc-2***.rwlb.rds.aliyuncs.com

-P

Nomor port endpoint database.

Catatan
  • Port default-nya adalah 3306.

  • Jika port-nya adalah port default, Anda dapat menghilangkan parameter ini.

3306

-u

Akun database.

polardb_mysql_user

-p

Password akun database.

Catatan

Parameter ini wajib digunakan.

  • Jika Anda menghilangkan parameter ini, Anda akan diminta memasukkan password setelah Enter password.

  • Jika Anda menyertakan parameter ini, jangan tambahkan spasi antara -p dan password.

Pass***233

Gunakan aplikasi untuk menghubungkan ke kluster

Menghubungkan ke kluster PolarDB for MySQL sama seperti menghubungkan ke database MySQL mana pun. Ganti endpoint, port, akun, dan password dengan nilai kluster PolarDB Anda. Berikut contoh berdasarkan bahasa pemrograman:

Java

Gunakan driver JDBC MySQL dalam proyek Maven untuk menghubungkan ke kluster PolarDB for MySQL.

  1. Tambahkan dependensi driver JDBC MySQL ke file pom.xml Anda:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
  2. Hubungkan ke kluster. Ganti <HOST>, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME>, dan <YOUR_TABLE_COLUMN_NAME> dengan nilai aktual Anda.

    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) {
          // Endpoint, port, dan nama database yang akan dihubungkan.
          String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC";
          // Akun database.
          String user = "<USER>";
          // Password akun database.
          String password = "<PASSWORD>";
    
          try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             // Nama tabel data yang akan diambil.
             ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`");
    
             while(rs.next()) {
                // Nama kolom dalam tabel data yang akan diambil.
                System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
             }
    
             rs.close();
             stmt.close();
             conn.close();
          } catch (Exception var7) {
             var7.printStackTrace();
          }
    
       }
    }

Python

Gunakan library PyMySQL dengan Python 3 untuk menghubungkan ke kluster PolarDB for MySQL.

  1. Instal library PyMySQL:

    pip3 install PyMySQL
  2. Hubungkan ke kluster. Ganti <HOST>, <USER>, <PASSWORD>, <DATABASE>, dan <YOUR_TABLE_NAME> dengan nilai aktual Anda.

    import pymysql
    
    # Parameter koneksi database
    host = '<HOST>'  # Endpoint kluster PolarDB
    port = 3306  # Port default-nya adalah 3306
    user = '<USER>'  # Akun database
    password = '<PASSWORD>'  # Password akun database
    database = '<DATABASE>'  # Nama database yang akan dihubungkan
    
    try:
        # Buat koneksi database
        connection = pymysql.connect(
            host=host,
            port=port,
            user=user,
            passwd=password,
            db=database
        )
    
        # Dapatkan cursor
        with connection.cursor() as cursor:
            # Jalankan kueri SQL
            sql = "SELECT * FROM `<YOUR_TABLE_NAME>`"  # Nama tabel data yang akan diambil
            cursor.execute(sql)
    
            # Dapatkan 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

Gunakan paket database/sql dan driver go-sql-driver/mysql (Go 1.23.0) untuk menghubungkan ke kluster PolarDB for MySQL.

  1. Instal driver go-sql-driver/mysql:

    go get -u github.com/go-sql-driver/mysql
  2. Hubungkan ke kluster. Ganti <HOST>, <USER>, <PASSWORD>, <DATABASE>, dan <YOUR_TABLE_NAME> dengan nilai aktual Anda.

    package main
    
    import (
        "database/sql"
        "fmt"
        "log"
        _ "github.com/go-sql-driver/mysql"
    )
    
    func main() {
        // Parameter koneksi database
        dbHost := "<HOST>"       // Endpoint kluster PolarDB
        dbPort := "3306"         // Port default-nya adalah 3306
        dbUser := "<USER>"       // Akun database
        dbPass := "<PASSWORD>"   // Password akun database
        dbName := "<DATABASE>"   // Nama database yang akan dihubungkan
    
        // Bangun Data Source Name (DSN)
        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 menghubungkan ke database: %v", err)
        }
        defer db.Close()
    
        // Uji koneksi
        err = db.Ping()
        if err != nil {
            log.Fatalf("Gagal ping database: %v", err)
        }
    
        // Buat cursor
        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>`") // Nama tabel data yang akan diambil
        if err != nil {
            log.Fatalf("Gagal menjalankan kueri: %v", err)
        }
        defer rows.Close()
    }

FAQ

Instance ECS tidak dapat terhubung ke PolarDB kluster

Lakukan troubleshooting sebagai berikut:

  1. Periksa apakah kluster PolarDB berada dalam status running.

  2. Verifikasi bahwa endpoint database, port, akun, dan password sudah benar. Dapatkan endpoint dan port database.

  3. Uji konektivitas jaringan dari instance ECS menggunakan ping <database endpoint> atau telnet <database endpoint> <port>.

    1. Jika Anda menggunakan endpoint private network:

      1. Periksa apakah instance ECS dan kluster PolarDB berada dalam VPC yang sama. Jika tidak berada dalam VPC yang sama, Anda tidak dapat menggunakan endpoint private network. Gunakan salah satu solusi berikut untuk menempatkan instance ECS dan kluster PolarDB dalam VPC yang sama:

      2. Periksa apakah alamat IP pribadi, rentang alamat IP, atau security group instance ECS telah ditambahkan ke daftar putih kluster.

    2. Jika Anda menggunakan endpoint public network, periksa apakah alamat IP publik atau security group instance ECS telah ditambahkan ke daftar putih kluster.

Catatan

Virtual host dan server aplikasi sederhana tidak dapat terhubung ke PolarDB melalui endpoint private network.

Lingkungan on-premises tidak dapat terhubung ke kluster PolarDB

Lakukan troubleshooting sebagai berikut:

  1. Periksa apakah kluster PolarDB berada dalam status running.

  2. Verifikasi bahwa endpoint database, port, akun, dan password sudah benar. Dapatkan endpoint dan port database.

    Catatan

    Endpoint database harus berupa endpoint public network. Jika Anda menggunakan instance ECS yang berada dalam VPC yang sama dengan kluster PolarDB, Anda dapat menggunakan endpoint private network.

  3. Uji konektivitas jaringan dari lingkungan on-premises Anda menggunakan ping <database endpoint> atau telnet <database endpoint> <port>.

  4. Periksa apakah alamat IP publik atau rentang alamat IP lingkungan on-premises Anda telah ditambahkan ke daftar putih kluster.

    Dapatkan alamat IP publik Anda:

    • Sistem operasi Linux: Buka terminal dan jalankan perintah curl ifconfig.me.

    • Sistem operasi Windows: Buka command prompt dan jalankan perintah curl ip.me.

    • Sistem operasi macOS: Buka terminal dan jalankan perintah curl ifconfig.me.

    Jika lingkungan jaringan on-premises Anda menggunakan server proxy atau memiliki konfigurasi serupa lainnya, alamat IP yang diperoleh dengan metode di atas mungkin bukan alamat IP publik sebenarnya. Anda dapat menambahkan rentang alamat IP 0.0.0.0/0 ke daftar putih kluster PolarDB. Setelah berhasil terhubung ke kluster, jalankan perintah SHOW PROCESSLIST; untuk mendapatkan alamat IP publik sebenarnya dan tambahkan ke daftar putih kluster. Kemudian, hapus rentang alamat IP 0.0.0.0/0 dari daftar putih.

    image

Tidak dapat terhubung ke kluster PolarDB dengan error "Access denied for user 'xxx'@'xxx' (using password: YES)"

Akun database atau password salah. Buka PolarDB console dan verifikasi atau atur ulang kredensial di halaman Configurations and Management > Account Management.

Tidak dapat terhubung ke kluster PolarDB dengan error "Unknown MySQL server host 'xxx'"

Endpoint database salah. Format yang benar adalah pc-xxxxxx.rwlb.rds.aliyuncs.com. Buka PolarDB console dan verifikasi endpoint di bagian Basic Information > Database Connection.

Tidak dapat terhubung ke kluster PolarDB dengan error "Can't connect to MySQL server on 'xxx'" atau "Connection timed out"

Alamat IP publik atau rentang alamat IP lingkungan Anda kemungkinan tidak ada dalam daftar putih kluster PolarDB, atau alamat IP yang Anda masukkan salah.

Dapatkan alamat IP publik Anda:

  • Sistem operasi Linux: Buka terminal dan jalankan perintah curl ifconfig.me.

  • Sistem operasi Windows: Buka command prompt dan jalankan perintah curl ip.me.

  • Sistem operasi macOS: Buka terminal dan jalankan perintah curl ifconfig.me.

Jika lingkungan jaringan on-premises Anda menggunakan server proxy atau memiliki konfigurasi serupa lainnya, alamat IP yang diperoleh dengan metode di atas mungkin bukan alamat IP publik sebenarnya. Anda dapat menambahkan rentang alamat IP 0.0.0.0/0 ke daftar putih kluster PolarDB. Setelah berhasil terhubung ke kluster, jalankan perintah SHOW PROCESSLIST; untuk mendapatkan alamat IP publik sebenarnya dan tambahkan ke daftar putih kluster. Kemudian, hapus rentang alamat IP 0.0.0.0/0 dari daftar putih.

image

Bagaimana cara mengubah metode koneksi di DMS agar menggunakan cluster endpoint untuk menghubungkan ke kluster PolarDB?

Saat Anda menggunakan DMS untuk menghubungkan ke kluster, DMS secara default terhubung melalui Primary Endpoint. Untuk menggunakan fitur-fitur seperti In-Memory Column Index (IMCI) dan PolarDB for AI, beralihlah ke Cluster Endpoint sehingga proksi database PolarDB mengarahkan pernyataan SQL ke node fungsional yang sesuai.

Prosedur:

  1. Setelah terhubung ke kluster melalui DMS, di daftar Database Instances > Logged-in Instances pada panel navigasi kiri, temukan kluster target, klik kanan, lalu pilih Edit Instance.

    image

  2. Di kotak dialog Edit Instance, ubah Basic Information > Entry Method menjadi Connection String, masukkan cluster endpoint kluster, lalu klik Save.image

Penting

Setelah mengubah endpoint, tutup jendela SQL yang ada dan buka jendela baru. Jendela asli masih menggunakan Primary Endpoint, bukan Connection String Address yang telah diperbarui.

Mengapa terjadi error koneksi setelah saya mengatur bobot node read-only dalam cluster endpoint menjadi 0 lalu menghapus node tersebut?

  • Skenario: Anda perlu menghapus node read-only dari cluster endpoint. Untuk menghindari gangguan koneksi ke node tersebut, Anda terlebih dahulu mengatur bobot pemisahan baca/tulis node read-only menjadi 0. Anda mengharapkan bahwa setelah bobot diatur menjadi 0, permintaan baca selanjutnya tidak akan dikirim ke node read-only tersebut. Namun, setelah Anda menghapus node dari cluster endpoint, terjadi error koneksi di sisi aplikasi.

  • Penyebab: Cluster endpoint memiliki dua Load Balancing Policy: Active Request-based Load Balancing dan Connections-based Load Balancing:

    • Active Request-based Load Balancing: Setelah mengurangi bobot node read-only menjadi 0, permintaan selanjutnya tidak akan lagi diarahkan ke node tersebut.

    • Connections-based Load Balancing: Penyeimbangan beban hanya dilakukan selama fase pembentukan koneksi. Jika koneksi yang telah dibentuk sebelumnya terhubung ke node read-only, permintaan selanjutnya pada koneksi tersebut akan selalu dikirim ke node read-only tersebut.

  • Solusi:

    1. Ubah Load Balancing Policy untuk cluster endpoint menjadi Active Request-based Load Balancing.

    2. Atur bobot pemisahan baca/tulis node read-only target menjadi 0.

    3. Hapus node read-only tersebut.

Referensi