Tous les produits
Search
Centre de documentation

Data Management:Accéder à une instance via le protocole MySQL

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment se connecter à une instance cible via le protocole MySQL après avoir activé Secure Access Proxy.

Prérequis

Remarques sur l'utilisation

Pour une instance en mode Security Collaboration, les connexions établies via Secure Access Proxy sont soumises à des règles de sécurité. Ces règles limitent le nombre de lignes qu'une requête peut renvoyer, avec un maximum configurable de 100 000 lignes.

Définir le nombre maximal de lignes renvoyées par requête

Dans la console DMS, accédez à Security and Specifications > Security Rules > Secure Access Proxy afin de définir le nombre maximal de lignes renvoyées par requête.

Dans la liste des règles, repérez la règle Maximum number of rows returned per query. Sa valeur actuelle est 5000. Vous pouvez modifier cette valeur selon vos besoins.

Remarque
  • Pour contourner les règles de sécurité, connectez-vous à la base de données en utilisant l'endpoint fourni dans la console de base de données, ou contactez le support technique DMS pour évaluer votre cas d'utilisation.

  • Pour les instances qui ne sont pas en mode Security Collaboration, vous ne pouvez pas personnaliser le nombre maximal de lignes renvoyées par requête. La limite par défaut est de 3 000 lignes.

Limitations

  • Le délai d'inactivité de votre client MySQL ne peut pas dépasser 900 secondes.

  • Si vous utilisez un pool de connexions, l'intervalle de maintien de la connexion (keep-alive) ne peut pas dépasser 900 secondes.

Remarque

Nous vous recommandons d'utiliser un pool de connexions et de définir l'intervalle de maintien de la connexion à 750 secondes.

Exemples de connexion

Vous pouvez vous connecter à une instance cible disposant de Secure Access Proxy activé en utilisant l'interface CLI MySQL, un client SQL ou du code programmatique.

Utiliser l'interface CLI MySQL

Utilisez le format suivant :

mysql -h<host> -P<port> -u<user_name> -p<password> <database> -e '<sql_statements>'

Paramètres :

Paramètre

Description

host

L'endpoint de proxy pour l'instance cible. Vous pouvez le trouver sur la page Secure Access Proxy, répertorié comme adresse de protocole MySQL pour l'endpoint de proxy interne ou public.

port

Le port de l'instance cible, par exemple 3306. Ce port fait partie de l'adresse de protocole MySQL affichée sur la page Secure Access Proxy.

user_name

Votre ID AccessKey. DMS attribue cet ID après autorisation. Vous pouvez le trouver dans la liste des utilisateurs autorisés sur la page Secure Access Proxy.

password

Votre secret AccessKey. DMS attribue ce secret après autorisation. Vous pouvez le trouver dans la liste des utilisateurs autorisés sur la page Secure Access Proxy.

database

Le nom de la base de données dans l'instance cible.

sql_statements

La commande SQL à exécuter, telle que SHOW DATABASES.

Exemple :

mysql -hdpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com -P3306 -uYOUR_ACCESS_KEY_ID -pYOUR_ACCESS_KEY_SECRET Schema -e 'SHOW DATABASES'

Utiliser du code programmatique

Remarque

L'exemple Python utilise Python 2.

// dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com:3306 is the proxy endpoint and port of the target instance. 
// You can find the endpoint and port in the MySQL protocol address on the Secure Access Proxy page.
// schema is the name of the database in the target instance.
String url = "jdbc:mysql://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com:3306/schema";
Properties properties = new Properties();
// Use your AccessKey ID. You can find it in the authorized user list on the Secure Access Proxy page.
properties.setProperty("user", "YOUR_ACCESS_KEY_ID");
// Use your AccessKey secret. You can find it in the authorized user list on the Secure Access Proxy page.
properties.setProperty("password", "YOUR_ACCESS_KEY_SECRET");
try (Connection connection = DriverManager.getConnection(url, properties)) {
    try (Statement statement = connection.createStatement()) {
        // Use the execute method to run an SQL statement. This example uses SHOW DATABASES. You can replace it with other SQL statements.
        statement.execute("SHOW DATABASES");
        ResultSet resultSet = statement.getResultSet();
        while (resultSet.next()) {
            System.out.println(resultSet.getString(1));
        }
    }
} catch (Exception e) {
    e.printStackTrace();
}
import pymysql
try:
    # host: The proxy endpoint of the target instance.
    # port: The port of the target instance.
    # user: Your AccessKey ID. You can find it in the authorized user list on the Secure Access Proxy page.
    # password: Your AccessKey secret. You can find it in the authorized user list on the Secure Access Proxy page.
    # database: The name of the database in the target instance.
    conn = pymysql.connect(host='dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com', port=3306, user='YOUR_ACCESS_KEY_ID', password="YOUR_ACCESS_KEY_SECRET",database ='schema')  
    cur = conn.cursor(pymysql.cursors.DictCursor)
    # Use the execute method to run an SQL statement. This example uses SHOW DATABASES. You can replace it with other SQL statements.
    cur.execute('SHOW DATABASES')
    rs = cur.fetchall()
    print rs
finally:
    cur.close()
    conn.close()
var mysql  = require('mysql');  
var connection = mysql.createConnection({
    // host: The proxy endpoint of the target instance. 
    host     : 'dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com',  
    // user: Your AccessKey ID. You can find it in the authorized user list on the Secure Access Proxy page.     
    user     : 'YOUR_ACCESS_KEY_ID', 
    // password: Your AccessKey secret. You can find it in the authorized user list on the Secure Access Proxy page.             
    password : 'YOUR_ACCESS_KEY_SECRET', 
    // port: The port of the target instance.      
    port     : '3306',  
    // database: The name of the database in the target instance.                 
    database : 'schema' 
}); 
connection.connect();
// Use the execute method to run an SQL statement. This example uses SHOW DATABASES. You can replace it with other SQL statements. 
connection.query('SHOW DATABASES', function(err, result) {
    console.log(result);
});
connection.end();

Utiliser un client SQL

Cet exemple utilise Navicat. Configurez les champs suivants :

  • Host : l'endpoint de proxy de l'instance cible.

  • Port : le port de l'instance cible.

  • User name : votre ID AccessKey.

  • Password : votre secret AccessKey.