Tüm Ürünler
Search
Belge Merkezi

PolarDB:Connect to a database

Son Güncelleme:Oct 09, 2026

Data Management (DMS), MySQL CLI, MySQL uyumlu üçüncü taraf istemciler veya uygulama kodunuz aracılığıyla bir PolarDB-X örneğine bağlanabilirsiniz.

Önkoşullar

Bir PolarDB-X veritabanına bağlanmadan önce aşağıdaki adımları tamamlayın:

  • Veritabanı uç noktasını ve bağlantı noktasını edinin

    PolarDB-X konsolu adresine gidin. Instances listesinde hedef örneğin kimliğine tıklayarak temel bilgilerini görüntüleyin. Connection Information bölümünde veritabanı uç noktasını ve bağlantı noktasını bulun.

    Not
    • Erişim ortamınıza bağlı olarak Intranet veya External network seçeneğini belirleyin.

      • PolarDB-X hizmetine erişmek için bir ECS örneği kullanıyorsanız ve ECS örneği ile PolarDB-X aynı VPC içinde yer alıyorsa en iyi performansı elde etmek için Internal Network seçeneğini belirleyin.

      • PolarDB-X hizmetine yerel ortamınızdan erişiyorsanız Internet seçeneğini belirleyin. Sağ taraftaki Apply for Public IP Address düğmesine tıklayarak genel bir uç nokta edinebilirsiniz. Internet internet ağını ifade eder. PolarDB-X örneğine Internet üzerinden erişim en yüksek performansı sağlamaz.

    • Sanal bir ana bilgisayardan veya Simple Application Server örneğinden Internal Network kullanarak bir PolarDB-X örneğine bağlanamazsınız.

  • Veritabanı hesabı oluşturma.

  • Örnek izin listesini yapılandırma

    PolarDB-X konsolu adresine gidin ve Instances listesinde hedef örneğin kimliğine tıklayın. Sol gezinme bölmesinde Configuration and Management > Security Management yolunu izleyin. Açılan sayfada bir IP izin listesini Configuration yapın veya Add Whitelist seçeneğine tıklayın. Daha fazla bilgi için bkz. İzin listelerini yapılandırma.

    İzin listesi ayarları sayfasında izin listesi gruplarını görüntüleyebilir ve ilgili düğmeleri kullanarak izin listelerini yapılandırabilirsiniz.

    Not
    • PolarDB-X hizmetine erişmek için bir ECS örneği kullanıyorsanız ve ECS örneği PolarDB-X örneğiyle aynı VPC içinde yer alıyorsa ECS örneğinin özel IP adresini yeni bir IP izin listesi grubuna ekleyin.

    • PolarDB-X hizmetine erişmek için bir ECS örneği kullanıyorsanız ancak ECS örneği PolarDB-X örneğinden farklı bir VPC içinde yer alıyorsa ECS örneğinin genel IP adresini yeni bir IP izin listesi grubuna ekleyin.

    • PolarDB-X hizmetine şirket içi bir ortamdan erişiyorsanız ortamınızın genel IP adresini yeni bir IP izin listesi grubuna ekleyin.

      Şirket içi ortamınızın genel IP adresini edinmek için aşağıdaki adımlardan birini uygulayın:

      • Linux işletim sistemleri için: Terminali açın, curl ifconfig.me komutunu girin ve Enter tuşuna basın.

      • Windows için: Komut İstemini açın, curl ip.me komutunu girin ve Enter tuşuna basın.

      • macOS için: Terminal'i açın, curl ifconfig.me komutunu girin ve Enter tuşuna basın.

      Yerel ağınız bir proxy arkasındaysa edindiğiniz IP adresi gerçek genel IP adresiniz olmayabilir. 0.0.0.0/0 IP adres aralığını PolarDB-X örneğinin izin listesine ekleyebilirsiniz. Örneğe başarıyla bağlandıktan sonra SHOW PROCESSLIST; komutunu çalıştırarak gerçek genel IP adresinizi edinin ve bunu örnek izin listesine ekleyin. Ardından 0.0.0.0/0 IP adres aralığını izin listesinden kaldırın.

      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
    • 0.0.0.0/0 IP adres aralığı tüm kaynaklardan erişime izin verir. Bu aralığı bir örnek izin listesine eklemek yüksek bir güvenlik riski oluşturur. Kesinlikle gerekli olmadıkça bu aralığı izin listesine eklemeyin.

Veritabanına bağlanma

İş yükünüze bağlı olarak bir veritabanı örneğine çeşitli yöntemlerle bağlanabilirsiniz. Aşağıdaki bölümlerde yaygın örnekler gösterilmektedir.

DMS

Data Management (DMS), Alibaba Cloud tarafından sunulan grafiksel bir veri yönetimi aracıdır. Veri yönetimi, şema yönetimi, kullanıcı yetkilendirme, güvenlik denetimi, veri eğilimi analizi, veri izleme, BI grafikleri, performans optimizasyonu ve sunucu yönetimi dahil olmak üzere bir dizi hizmeti entegre eder. Diğer araçlara gerek kalmadan PolarDB-X örneğinizi doğrudan DMS ile yönetebilirsiniz.

  1. PolarDB-X konsolu adresine gidin. Instances listesinde hedef örneğin kimliğine tıklayarak ayrıntılar sayfasını açın. Sayfanın sağ üst köşesinde Log On to Database seçeneğine tıklayın.

  2. Açılan iletişim kutusunda Database Account ve Database Password bilgilerini PolarDB-X örneği için girin ve ardından Search seçeneğine tıklayın.

    Not
    • DMS ile ilk kez oturum açtığınızda kontrol modu varsayılan olarak Flexible Management olur. Oturum açtıktan sonra örneği düzenleyerek kontrol modunu değiştirebilirsiniz. Daha fazla bilgi için bkz. Örnek bilgilerini düzenleme ve Kontrol modları.

    • Oturum açma parametrelerini yapılandırdıktan sonra sol alt köşedeki Test Connectivity seçeneğine tıklayabilirsiniz. Bağlantı başarısız olursa hata mesajını inceleyin ve hesap veya parola gibi girdiğiniz bilgileri kontrol edin.

    • Sistem, DMS sunucularının IP adreslerini PolarDB-X örneğinin izin listesine otomatik olarak eklemeye çalışır. Bu işlem başarısız olursa IP adreslerini manuel olarak eklemeniz gerekir.

  3. Oturum açtıktan sonra PolarDB-X örneği sol gezinme bölmesindeki Connected Instances bölümünde görünür. Ardından örneği yönetebilirsiniz.

GUI client

PolarDB-X aşağıdaki üçüncü taraf istemcilerden gelen bağlantıları destekler. Bu istemcileri resmi web sitelerinden indirebilirsiniz.

  • MySQL Workbench (Önerilen)

  • SQLyog

  • Sequel Pro

  • Navicat for MySQL

Not

Üçüncü taraf GUI istemcileri CRUD ve DDL dahil olmak üzere temel veritabanı işlemlerini destekler. PolarDB-X tarafından istemciye özgü gelişmiş özellikler desteklenmeyebilir.

Aşağıdaki adımlarda örnek olarak MySQL Workbench 8.0.29 kullanılmıştır. Diğer istemciler de benzer bir prosedürü izler.

  1. MySQL Workbench'i yükleyin. Resmi indirme bağlantısı için MySQL Workbench indirme sayfasına bakın.

  2. MySQL Workbench'i açın ve Database > Connect to Database yolunu izleyin.

  3. Bağlantı bilgilerini girin ve OK seçeneğine tıklayın.

    Parametre

    Açıklama

    Örnek

    Hostname

    Veritabanı uç noktası.

    pxc-xxx.polarx.rds.aliyuncs.com

    Port

    Veritabanı uç noktasına karşılık gelen bağlantı noktası numarası.

    Not

    Varsayılan bağlantı noktası 3306'dır.

    3306

    Username

    Veritabanı hesabı.

    polardb_x_user

    Password

    Veritabanı hesabının parolası.

    Pass***233

MySQL CLI

Sunucunuzda bir MySQL istemcisi yüklüyse komut satırını kullanarak PolarDB-X örneğinize bağlanabilirsiniz.

Sözdizimi:

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

Örnek:

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

Parametre

Açıklama

Örnek

-h

Veritabanı uç noktası.

pxc-xxx.polarx.rds.aliyuncs.com

-P

Veritabanı uç noktasına karşılık gelen bağlantı noktası numarası.

Not
  • Varsayılan bağlantı noktası 3306'dır.

  • Varsayılan bağlantı noktasını kullanıyorsanız bu parametreyi atlayabilirsiniz.

3306

-u

Veritabanı hesabı.

polardb_x_user

-p

Veritabanı hesabının parolası.

Not

Bu parametre gereklidir.

  • Bu parametreyi belirtmezseniz Enter password isteminde parolayı tekrar girmeniz istenir.

  • Bu parametreyi belirtirseniz -p ile veritabanı parolası arasında boşluk bırakmayın.

Pass***233

-D

Bağlanmak istediğiniz veritabanının adı.

Not

Bu parametre isteğe bağlıdır.

test_db

Application

Bir uygulamadan PolarDB-X örneğine bağlanmak standart bir MySQL veritabanına bağlanmaya benzer; yalnızca veritabanı uç noktası, bağlantı noktası, hesap ve parola gerekir. Aşağıdaki örneklerde yaygın programlama dilleri kullanılarak bir PolarDB-X örneğine nasıl erişileceği gösterilmektedir:

Java

Bu örnekte bir Maven projesi ve MySQL JDBC sürücüsü kullanılarak bir PolarDB-X örneğine bağlanılmaktadır.

  1. Öncelikle MySQL JDBC sürücü bağımlılığını pom.xml dosyasına eklemeniz gerekir. Aşağıda bir kod örneği verilmiştir:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
  2. Örneğe bağlanın. <HOST>, bağlantı noktası numarası, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME> ve <YOUR_TABLE_COLUMN_NAME> parametrelerini değiştirin.

    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) {
          // PolarDB-X instance endpoint, port, and database name
          String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC";
          // Database account
          String user = "<USER>";
          // Database password
          String password = "<PASSWORD>";
          try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             // Table to query
             ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`");
             while(rs.next()) {
                // Column to retrieve
                System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
             }
             rs.close();
             stmt.close();
             conn.close();
          } catch (Exception var7) {
             var7.printStackTrace();
          }
       }
    }

Python

Bu örnekte Python 3 ve PyMySQL kitaplığı kullanılarak bir PolarDB-X örneğine bağlanılmaktadır.

  1. PyMySQL kitaplığını yükleyin. Yüklü değilse aşağıdaki komutu çalıştırın:

    pip3 install PyMySQL
  2. Örneğe bağlanın. <HOST>, bağlantı noktası numarası, <USER>, <PASSWORD>, <DATABASE> ve <YOUR_TABLE_NAME> parametrelerini değiştirin.

    import pymysql
    # Connection parameters
    host = '<HOST>'  # PolarDB-X instance endpoint
    port = 3306  # Default port is 3306
    user = '<USER>'  # Database account
    password = '<PASSWORD>'  # Database password
    database = '<DATABASE>'  # Target database name
    try:
        # Create a database connection
        connection = pymysql.connect(
            host=host,
            port=port,
            user=user,
            passwd=password,
            db=database
        )
        # Create a cursor
        with connection.cursor() as cursor:
            # Run an SQL query
            sql = "SELECT * FROM `<YOUR_TABLE_NAME>`"  # Table to query
            cursor.execute(sql)
            # Fetch query results
            results = cursor.fetchall()
            for row in results:
                print(row)
    finally:
        # Close the database connection
        if 'connection' in locals() and connection.open:
            connection.close()
                            

Go

Bu örnekte Go 1.23.0, database/sql paketi ve go-sql-driver/mysql sürücüsü kullanılarak bir PolarDB-X örneğine bağlanılmaktadır.

  1. Öncelikle go-sql-driver/mysql sürücüsünü yüklemeniz gerekir. Aşağıdaki komutu çalıştırarak yükleyebilirsiniz:

    go get -u github.com/go-sql-driver/mysql
  2. Örneğe bağlanın. <HOST>, bağlantı noktası numarası, <USER>, <PASSWORD>, <DATABASE> ve <YOUR_TABLE_NAME> parametrelerini değiştirin.

    package main
    import (
        "database/sql"
        "fmt"
        "log"
        _ "github.com/go-sql-driver/mysql"
    )
    func main() {
        // Connection parameters
        dbHost := "<HOST>"       // PolarDB-X instance endpoint
        dbPort := "3306"         // Default port is 3306
        dbUser := "<USER>"       // Database account
        dbPass := "<PASSWORD>"   // Database password
        dbName := "<DATABASE>"   // Target database name
        // Build the DSN (Data Source Name)
        dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbPort, dbName)
        // Open the database connection
        db, err := sql.Open("mysql", dsn)
        if err != nil {
            log.Fatalf("Failed to connect to database: %v", err)
        }
        defer db.Close()
        // Ping the server to test the connection
        err = db.Ping()
        if err != nil {
            log.Fatalf("Failed to ping database: %v", err)
        }
        // Query the server version
        var result string
        err = db.QueryRow("SELECT VERSION()").Scan(&result)
        if err != nil {
            log.Fatalf("Failed to execute query: %v", err)
        }
        // Print the database version
        fmt.Printf("Connected to database, version: %s\n", result)
        // Run an SQL query
        rows, err := db.Query("SELECT * FROM `<YOUR_TABLE_NAME>`") // Table to query
        if err != nil {
            log.Fatalf("Failed to execute query: %v", err)
        }
        defer rows.Close()
        // Process the query results
        for rows.Next() {
            var id int
            var name string
            if err := rows.Scan(&id, &name); err != nil {
                log.Fatalf("Failed to scan row: %v", err)
            }
            fmt.Printf("ID: %d, Name: %s\n", id, name)
        }
        // Check for errors during row iteration
        if err := rows.Err(); err != nil {
            log.Fatalf("Error during iteration: %v", err)
        }
    }
    

SSS

ECS bir**PolarDB-X** örneğine bağlanamıyor

Sorunu gidermek için şu adımları izleyin:

  1. PolarDB-X örneğinin Running durumunda olup olmadığını kontrol edin.

  2. Veritabanı uç noktasını ve bağlantı noktasını ile hesap ve parolayı doğrulayın.

  3. Bir ECS örneğinde ping <database endpoint> veya telnet <database endpoint> <port> komutlarını çalıştırarak ağ bağlantısını test edin ve ağ faktörlerini kontrol edin.

  4. Internal Network kullanıyorsanız:

    1. ECS örneği ile PolarDB-X örneğinin aynı VPC içinde olup olmadığını kontrol edin. Değilse Internal Network kullanamazsınız. ECS ve PolarDB-X örneklerini aynı VPC içine almak için aşağıdaki yöntemlerden birini kullanabilirsiniz:

      • ECS örneğinin VPC'sini değiştirin.

      • PolarDB-X örneği varsayılan VPC'yi kullanıyorsa PolarDB-X örneğinin VPC'sini değiştirebilirsiniz.

      • VPC'ler arası iletişimi etkinleştirmek için Cloud Enterprise Network (CEN) kullanın. Daha fazla bilgi için bkz. Aynı bölgedeki VPC'leri bağlama.

    2. ECS örneğinin özel IP adresinin veya CIDR bloğunun PolarDB-X örneğinin izin listesine eklenip eklenmediğini kontrol edin. Daha fazla bilgi için bkz. Örnek izin listesi yapılandırma.

  5. Internet kullanıyorsanız ECS örneğinin genel IP adresinin PolarDB-X örneğinin izin listesine eklenip eklenmediğini kontrol edin. Daha fazla bilgi için bkz. Örnek izin listesi yapılandırma.

Not

Sanal bir ana bilgisayardan veya Simple Application Server örneğinden Internal Network kullanarak bir PolarDB-X örneğine bağlanamazsınız.

Yerel ortamdan bir **PolarDB-X** örneğine bağlanılamıyor

Sorunu gidermek için şu adımları izleyin:

  1. PolarDB-X örneğinin Running durumunda olup olmadığını kontrol edin.

  2. Veritabanı uç noktasını ve bağlantı noktasını ile hesap ve parolayı doğrulayın.

    Not

    Şirket içi bir ortamdan bağlanmak için Internet kullanmanız gerekir. Internal Network yalnızca istemci ve PolarDB-X örneği aynı VPC içinde olduğunda kullanılabilir.

  3. Ağ sorunlarını kontrol etmek için yerel ortamınızda ping <database endpoint> veya telnet <database endpoint> <port> komutlarını çalıştırarak ağ bağlantısını test edebilirsiniz.

  4. Şirket içi ortamınızın genel IP adresinin veya CIDR bloğunun PolarDB-X örneğinin izin listesine eklenip eklenmediğini kontrol edin. Daha fazla bilgi için bkz. Örnek izin listesi yapılandırma.

    Şirket içi ortamınızın genel IP adresini edinmek için aşağıdaki adımlardan birini uygulayın:

    • Linux işletim sistemleri için: Terminali açın, curl ifconfig.me komutunu girin ve Enter tuşuna basın.

    • Windows için: Komut İstemini açın, curl ip.me komutunu girin ve Enter tuşuna basın.

    • macOS için: Terminal'i açın, curl ifconfig.me komutunu girin ve Enter tuşuna basın.

    Yerel ağınız bir proxy arkasındaysa edindiğiniz IP adresi gerçek genel IP adresiniz olmayabilir. 0.0.0.0/0 IP adres aralığını PolarDB-X örneğinin izin listesine ekleyebilirsiniz. Örneğe başarıyla bağlandıktan sonra SHOW PROCESSLIST; komutunu çalıştırarak gerçek genel IP adresinizi edinin ve bunu örnek izin listesine ekleyin. Ardından 0.0.0.0/0 IP adres aralığını izin listesinden kaldırın.

    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

Bir **PolarDB-X örneğine** bağlanılamıyor ve şu hata alınıyor: Access denied for user 'xxx'@'xxx' (using password: YES)

"Access denied for user 'xxx'@'xxx' (using password: YES)" gibi bir hata mesajı yanlış veritabanı hesabı veya parolası olduğunu gösterir. Kimlik bilgilerinizi doğrulayın. PolarDB-X konsolu adresine gidip Configuration and Management > Accounts yolunu izleyerek veritabanı hesabınızı ve parolanızı yönetebilirsiniz.

Bir ****PolarDB-X**** örneğine bağlanılamıyor: 'Unknown MySQL server host 'xxx'' hatası

Bu hata veritabanı uç noktasının yanlış olduğunu gösterir. Uç noktanın doğru olduğundan ve pxc-xxx.polarx.rds.aliyuncs.com biçimini takip ettiğinden emin olun. PolarDB-X konsolu adresine gidip veritabanı uç noktanızı Basic Information > Connection Information bölümünde bulabilirsiniz.

BirPolarDB-X örneğine bağlanılamıyor, hata: Can't connect to MySQL server on 'xxx' or Connection timed out

Bu durum ortamınızın genel IP adresinin PolarDB-X örneğinin izin listesine eklenmemesinden veya izin listesi girişinin hatalı olmasından kaynaklanabilir.

Şirket içi ortamınızın genel IP adresini edinmek için aşağıdaki adımlardan birini uygulayın:

  • Linux işletim sistemleri için: Terminali açın, curl ifconfig.me komutunu girin ve Enter tuşuna basın.

  • Windows için: Komut İstemini açın, curl ip.me komutunu girin ve Enter tuşuna basın.

  • macOS için: Terminal'i açın, curl ifconfig.me komutunu girin ve Enter tuşuna basın.

Yerel ağınız bir proxy arkasındaysa edindiğiniz IP adresi gerçek genel IP adresiniz olmayabilir. 0.0.0.0/0 IP adres aralığını PolarDB-X örneğinin izin listesine ekleyebilirsiniz. Örneğe başarıyla bağlandıktan sonra SHOW PROCESSLIST; komutunu çalıştırarak gerçek genel IP adresinizi edinin ve bunu örnek izin listesine ekleyin. Ardından 0.0.0.0/0 IP adres aralığını izin listesinden kaldırın.

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

Veritabanı zaman aşımı için en iyi uygulamalar

Uygulamanız Spring Boot, MyBatis ve bir JDBC sürücüsü gibi yaygın bir Nesne-İlişkisel Eşleme (ORM) çerçevesi kullanıyorsa çerçeve genellikle işlemler, SQL deyimleri ve ağ G/Ç gibi birkaç katmanda SQL sorguları için istemci tarafı zaman aşımları ayarlamanıza olanak tanır. Örnekler arasında Spring'in transaction_timeout, MyBatis'in statement_timeout ve MySQL JDBC sürücüsünün query_timeout parametreleri yer alır.

Temel olarak bu istemci tarafı zaman aşımı mekanizmalarının çoğu sorguları kesmek için bir veritabanı Kill deyimi yürütmesi gerekir. Dağıtılmış veritabanı senaryolarında Kill deyimlerinin yürütülmesi maliyetlidir ve sık yürütülmesi önemli miktarda veritabanı sistemi kaynağı tüketir. Bu nedenle bu zaman aşımı mekanizmalarının yoğun şekilde kullanılması önerilmez.

En iyi uygulama olarak uygulamanız SQL yürütme zaman aşımını belirtmek için JDBC URL'sindeki socket_timeout parametresini (ağ soketi zaman aşımı) doğrudan kullanmalıdır. Çünkü bu parametre TCP protokolünün kendi zaman aşımı mekanizmasına dayanır ve zaman aşımı gerçekleştiğinde bir Kill deyimi tetiklenmez. Örneğin:

<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>