Puede conectarse a una instancia de PolarDB-X mediante Data Management (DMS), la CLI de MySQL, clientes de terceros compatibles con MySQL o el código de su aplicación.
Requisitos previos
Antes de conectarse a una base de datos de PolarDB-X, complete los pasos que se muestran a continuación:
Conexión a la base de datos
Puede conectarse a una instancia de base de datos de varias maneras, según su carga de trabajo. A continuación se muestran algunos ejemplos comunes.
DMS
Data Management (DMS) es una herramienta gráfica de gestión de datos proporcionada por Alibaba Cloud. Integra un conjunto de servicios que incluye gestión de datos, gestión de esquemas, autorización de usuarios, auditoría de seguridad, tendencias de datos, trazabilidad de datos, gráficos de BI, optimización del rendimiento y gestión de servidores. Con DMS puede gestionar directamente su instancia de PolarDB-X sin necesidad de otras herramientas.
Vaya a la consola de PolarDB for Distributed. En la lista Instances, haga clic en el ID de la instancia de destino para abrir su página de detalles. En la esquina superior derecha de la página, haga clic en Log On to Database.
-
En el cuadro de diálogo, introduzca los valores de Database Account y Database Password correspondientes a la instancia de PolarDB-X. Después, haga clic en Search.
NotaLa primera vez que inicie sesión mediante DMS, el modo de control será Flexible Management de forma predeterminada. Una vez iniciada la sesión, podrá cambiar este modo si edita la instancia. Para obtener más información, consulte Edit instance information y Control modes.
Después de configurar los parámetros de inicio de sesión, haga clic en Test Connectivity en la esquina inferior izquierda. Si la conexión finaliza con errores, revise el mensaje de error y compruebe la información que introdujo, como la cuenta o la contraseña.
El sistema intenta agregar automáticamente las direcciones IP de los servidores de DMS a la lista blanca de la instancia de PolarDB-X. Si este intento falla, debe agregar las direcciones IP de forma manual.
Una vez iniciada la sesión, la instancia de PolarDB-X aparecerá en la sección Connected Instances del panel de navegación izquierdo. Desde ahí podrá gestionar la instancia.
Cliente GUI
PolarDB-X admite conexiones desde los clientes de terceros que se indican a continuación. Puede descargar estos clientes desde sus sitios web oficiales.
MySQL Workbench (recomendado)
SQLyog
Sequel Pro
Navicat for MySQL
Los clientes GUI de terceros admiten operaciones básicas de base de datos, incluidas CRUD y DDL. Es posible que PolarDB-X no sea compatible con funciones avanzadas específicas de cada cliente.
A continuación se utiliza MySQL Workbench 8.0.29 como ejemplo. El procedimiento es similar en otros clientes.
Instale MySQL Workbench. Para acceder al enlace de descarga oficial, consulte la página de descarga de MySQL Workbench.
Abra MySQL Workbench y seleccione .
-
Introduzca la información de conexión y haga clic en OK.
Parámetro
Descripción
Ejemplo
Hostname
pxc-xxx.polarx.rds.aliyuncs.com
Port
El número de puerto que corresponde al endpoint de la base de datos.
NotaEl puerto predeterminado es 3306.
3306
Username
El database account.
polardb_x_user
Password
La contraseña de la cuenta de la base de datos.
Pass***233
CLI de MySQL
Si tiene instalado un cliente de MySQL en su servidor, puede usar la línea de comandos para conectarse a su instancia de PolarDB-X.
Sintaxis:
mysql -h<endpoint> -P<port> -u<database_username> -p<database_password> -D<database_name>
Ejemplo:
mysql -hpxc-xxx.polarx.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233 -Dtest_db
|
Parámetro |
Descripción |
Ejemplo |
|
-h |
pxc-xxx.polarx.rds.aliyuncs.com |
|
|
-P |
El número de puerto que corresponde al endpoint de la base de datos. Nota
|
3306 |
|
-u |
El database account. |
polardb_x_user |
|
-p |
La contraseña de la cuenta de la base de datos. Nota
Este parámetro es obligatorio.
|
Pass***233 |
|
-D |
El nombre de la base de datos a la que desea conectarse. Nota
Este parámetro es opcional. |
test_db |
Aplicación
Conectarse a una instancia de PolarDB-X desde una aplicación es similar a hacerlo con una base de datos MySQL estándar. Solo necesita el endpoint de la base de datos, el puerto, la cuenta y la contraseña. A continuación se muestra cómo acceder a una instancia de PolarDB-X con lenguajes de programación comunes:
Java
Este ejemplo utiliza un proyecto Maven y el controlador JDBC de MySQL para conectarse a una instancia de PolarDB-X.
-
Primero, agregue la dependencia del controlador JDBC de MySQL al archivo
pom.xml. A continuación se muestra un ejemplo de código:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> -
Conéctese a la instancia. Reemplace los parámetros
<HOST>, el número de puerto,<USER>,<PASSWORD>,<DATABASE>,<YOUR_TABLE_NAME>y<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) { // 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
Este ejemplo utiliza Python 3 y la biblioteca PyMySQL para conectarse a una instancia de PolarDB-X.
-
Instale la biblioteca PyMySQL. Si aún no está instalada, ejecute el siguiente comando:
pip3 install PyMySQL -
Conéctese a la instancia. Reemplace los parámetros
<HOST>, el número de puerto,<USER>,<PASSWORD>,<DATABASE>y<YOUR_TABLE_NAME>.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
Este ejemplo utiliza Go 1.23.0, el paquete database/sql y el controlador go-sql-driver/mysql para conectarse a una instancia de PolarDB-X.
-
Primero, instale el controlador
go-sql-driver/mysql. Para instalarlo, ejecute el siguiente comando:go get -u github.com/go-sql-driver/mysql -
Conéctese a la instancia. Reemplace los parámetros
<HOST>, el número de puerto,<USER>,<PASSWORD>,<DATABASE>y<YOUR_TABLE_NAME>.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) } }