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ı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.
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.
-
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.
NotDMS 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.
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
Üçü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.
MySQL Workbench'i yükleyin. Resmi indirme bağlantısı için MySQL Workbench indirme sayfasına bakın.
MySQL Workbench'i açın ve yolunu izleyin.
-
Bağlantı bilgilerini girin ve OK seçeneğine tıklayın.
Parametre
Açıklama
Örnek
Hostname
pxc-xxx.polarx.rds.aliyuncs.com
Port
Veritabanı uç noktasına karşılık gelen bağlantı noktası numarası.
NotVarsayılan bağlantı noktası 3306'dır.
3306
Username
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 | pxc-xxx.polarx.rds.aliyuncs.com | |
-P | Veritabanı uç noktasına karşılık gelen bağlantı noktası numarası. Not
| 3306 |
-u | polardb_x_user | |
-p | Veritabanı hesabının parolası. Not Bu parametre gereklidir.
| 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.
-
Öncelikle MySQL JDBC sürücü bağımlılığını
pom.xmldosyası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> -
Ö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.
-
PyMySQL kitaplığını yükleyin. Yüklü değilse aşağıdaki komutu çalıştırın:
pip3 install PyMySQL -
Ö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.
-
Öncelikle
go-sql-driver/mysqlsü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 -
Ö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) } }