Tous les produits
Search
Centre de documentation

Database Autonomy Service:DBGateway FAQ

Dernière mise à jour :Aug 10, 2026

Cette rubrique décrit la structure des répertoires de DBGateway, ses opérations de base et la résolution des problèmes courants.

Structure des répertoires de DBGateway

dbgateway
|-- bin
|   |-- dbgateway
|   \-- dbgateway-manager
|-- conf
|   |-- dbgateway.conf
|   \-- server.crt
\-- log
    |-- dbgateway.err
    |-- dbgateway.log
    \-- dbgateway_manager.log    
Remarque
  • Le répertoire bin contient dbgateway (le programme principal) et dbgateway-manager (le script de gestion de DBGateway).

  • Le répertoire conf contient dbgateway.conf (le fichier de configuration de DBGateway) et server.crt (le certificat de clé publique utilisé pour la communication).

  • Le répertoire log contient dbgateway.err (les erreurs de DBGateway), dbgateway.log (le journal principal de DBGateway) et dbgateway_manager.log (le journal du script de gestion).

Opérations de base

  • Consultez le journal de DBGateway

    • Le chemin d'accès complet au fichier journal de DBGateway est /opt/dbgateway/log/dbgateway.log.

    • Ce fichier texte brut peut être consulté à l'aide d'outils standard tels que vim, tail, cat et less.

    Si l'équipe du support technique Database Autonomy Service (DAS) vous demande le journal de DBGateway pour résoudre un problème, connectez-vous au serveur sur lequel DBGateway est déployé. Exécutez la commande suivante pour récupérer les 200 dernières entrées du journal et transmettez la sortie obtenue.

    tail -n 200 /opt/dbgateway/log/dbgateway.log
  • Vérifiez si le processus DBGateway est en cours d'exécution

    1. Connectez-vous à la console DAS.

    2. Dans le volet de navigation de gauche, cliquez sur Resource Management > DBGateways.

    3. Sur la page DBGateways, vérifiez le Current Status de DBGateway.

      Si le Current Status indique Normal, le processus DBGateway est en cours d'exécution. Dans le cas contraire, exécutez la commande suivante sur le serveur où DBGateway est déployé :

      /opt/dbgateway/bin/dbgateway-manager -d status
      • Si le processus DBGateway est en cours d'exécution, la commande renvoie :

        DBGateway is running.
      • Si le processus DBGateway n'est pas en cours d'exécution, la commande renvoie :

        DBGateway is dead.
      Remarque

      Cette vérification confirme uniquement l'existence du processus DBGateway, et non son bon fonctionnement.

  • Redémarrez DBGateway

    1. Vérifiez si le processus DBGateway est en cours d'exécution comme décrit dans la section précédente.

    2. Redémarrez DBGateway.

      • Si le processus DBGateway est en cours d'exécution :

        • Sur la page DBGateways, localisez DBGateway et cliquez sur Management > Restart dans la colonne Actions.

        • Autre solution : exécutez la commande suivante sur le serveur où DBGateway est déployé :

          /opt/dbgateway/bin/dbgateway-manager -d restart
      • Si le processus DBGateway n'est pas en cours d'exécution :

        Cette opération n'est pas disponible dans la console DAS. Vous devez redémarrer le processus depuis la ligne de commande. Exécutez la commande suivante sur le serveur où DBGateway est déployé :

        /opt/dbgateway/bin/dbgateway-manager -d restart
  • Mettez à jour DBGateway

    Sur la page DBGateways, localisez DBGateway et cliquez sur Management > Upgrade dans la colonne Actions.

  • Arrêtez DBGateway

    • Sur la page DBGateways, localisez DBGateway et cliquez sur Management > Stop dans la colonne Actions.

    • Autre solution : exécutez la commande suivante sur le serveur où DBGateway est déployé :

       /opt/dbgateway/bin/dbgateway-manager -d stop
  • Supprimez DBGateway

    Remarque
    • Après la suppression d'un DBGateway, toutes les fonctionnalités DAS associées aux instances de base de données concernées deviennent indisponibles.

    • Vous ne pouvez pas supprimer un DBGateway dont le Current Status est Normal. Arrêtez d'abord le DBGateway.

    1. Sur la page DBGateways, localisez DBGateway et cliquez sur Management > Delete dans la colonne Actions.

    2. Facultatif : Exécutez la commande suivante sur le serveur où DBGateway est déployé pour supprimer le répertoire d'installation.

      rm -rf /opt/dbgateway
  • Réinstallez DBGateway

    Après avoir supprimé DBGateway, vous pouvez le redéployer sur le même serveur. Utilisez la commande de déploiement fournie dans la console DAS lors de l'ajout de l'instance de base de données.

Dépannage du déploiement

Lorsque vous connectez une instance de base de données à l'aide d'une database gateway in centralized mode ou d'une database gateway in host mode, vous recevez une commande de déploiement. La commande suivante est donnée à titre d'exemple. Les valeurs id et token sont purement indicatives. Utilisez les valeurs issues de votre propre commande de déploiement.

sudo wget -O install-dbgateway http://hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/DBGateway/install/install-dbgateway && sudo /bin/bash install-dbgateway --id xxx --token xxx --endpoint master-hdm-cn-hangzhou-inner.aliyuncs.com --region cn-hangzhou
  • Impossible de télécharger le script de déploiement de DBGateway

    • Si le message wget command not found s'affiche, l'utilitaire wget n'est pas installé. Exécutez l'une des commandes suivantes pour installer wget :

      sudo apt-get install wget

      ou

      yum -y install wget
    • Vérifiez si votre serveur peut se connecter au réseau Object Storage Service (OSS).

      Depuis votre serveur, envoyez une requête ping vers le domaine OSS. Dans cet exemple, le domaine est hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com. Utilisez le domaine indiqué dans votre commande de déploiement.

      ping hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com
      • Si la commande renvoie le message suivant, le domaine ne peut pas être résolu. Vérifiez les paramètres de votre serveur DNS et assurez-vous que le service DNS fonctionne correctement.

        ping: unknown host hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com  
      • Si la commande ping reste bloquée sans afficher de résultat, la connexion réseau a échoué. Vérifiez les éléments suivants :

        • La configuration réseau du serveur.

        • Le type d'accès réseau du serveur (Internet ou VPC).

        • Si le type d'accès réseau est VPC, la région sélectionnée.

  • Testez la connectivité avec le serveur DAS

    Exécutez la commande suivante sur le serveur sur lequel vous souhaitez déployer DBGateway. Dans cet exemple, le domaine du serveur DAS est master-hdm-cn-hangzhou.aliyuncs.com. Utilisez le domaine indiqué dans votre commande de déploiement.

    telnet master-hdm-cn-hangzhou.aliyuncs.com 80
    • Si la commande renvoie Name or service not known, le domaine ne peut pas être résolu. Vérifiez les paramètres de votre serveur DNS et assurez-vous que le service DNS fonctionne correctement.

    • Si la commande renvoie Trying suivi d'une adresse IP, telle que Trying 10.0.XX.XX, puis reste bloquée, le réseau est inaccessible. Vérifiez les éléments suivants :

      • La configuration réseau du serveur.

      • Le type d'accès réseau du serveur (Internet ou VPC).

      • Si le type d'accès réseau est VPC, la région sélectionnée.

    • Si la commande renvoie la sortie suivante :

      Connected to master-hdm-cn-hangzhou.aliyuncs.com.  Escape character is '^]'.

      La connexion au serveur DAS est établie avec succès. Si DBGateway ne parvient toujours pas à démarrer, reportez-vous aux sections précédentes et consultez le journal de DBGateway pour poursuivre le dépannage.

Dépannage à l'exécution

  • Échec de l'authentification ou autorisations insuffisantes

    • Assurez-vous que le compte autorisé dispose des permissions requises. Les exemples suivants utilisent un compte autorisé nommé das_test.

      • MySQL

        CREATE USER 'das_test'@'%' IDENTIFIED BY 'password';
        GRANT SHOW DATABASES, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'das_test'@'%';
        GRANT SELECT ON *.*  TO 'das_test'@'%';
      • PostgreSQL

        CREATE USER das_test PASSWORD 'password';
        GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO das_test;
        /* Optional. This permission is required to collect slow query logs and SQL statements. */ 
        ALTER USER das_test WITH SUPERUSER;
      • MongoDB

        use admin;
        db.createUser({user:'das_test',pwd:'password',roles:[{role:'readAnyDatabase', db:'admin'}, {role:'clusterMonitor', db:'admin'}, {role: 'hostManager', db: 'admin'}]})

        Si vous recevez une erreur (Unauthorized) not authorized on admin to execute command, accordez les permissions suivantes au compte autorisé :

        db.grantRolesToUser("das_test", [{db: "local", role: "dbAdmin"},{db: "config", role: "dbAdmin"},{db: "admin", role: "dbAdminAnyDatabase"}])
      • Redis

        Redis ne dispose pas de système de comptes. Assurez-vous que le mot de passe est correct. Pour modifier le mot de passe Redis, modifiez l'option requirepass dans son fichier de configuration et redémarrez le service Redis. Pour plus d'informations, consultez la configuration Redis.

    • Assurez-vous que le nom d'utilisateur et le mot de passe sont corrects. Nous vous recommandons de tester les identifiants en vous connectant à distance à l'instance de base de données depuis le serveur DBGateway.

    • Redémarrez DBGateway et vérifiez si l'autorisation de l'instance a réussi.

    • Mettez à jour DBGateway vers la dernière version.

  • Échec de la connexion

    Un échec de connexion se produit lorsque DBGateway ne parvient pas à se connecter à une instance de base de données. Vérifiez les causes possibles suivantes :

    • Vérifiez si l'instance de base de données fonctionne correctement.

      Si une instance de base de données telle que MySQL, PostgreSQL, MongoDB ou Redis n'est pas en cours d'exécution, vérifiez l'existence de son processus.

    • Vérifiez la connectivité réseau entre le serveur DBGateway et l'instance de base de données (par exemple, MySQL, PostgreSQL, MongoDB ou Redis). Exécutez la commande suivante pour confirmer :

      telnet <database_instance_IP_or_domain> <database_instance_port>  

      Exemple :

      telnet 192.168.XX.XX 3306
      • Si la commande renvoie le message suivant, la connexion réseau est normale. Consultez le journal de DBGateway pour approfondir l'investigation.

        Connected to 192.168.XX.XX
        Escape character is '^]'.
      • Si le message précédent n'est pas renvoyé, un problème de connectivité réseau existe. Ce problème est souvent causé par une isolation réseau entre les serveurs, des paramètres de routage, un pare-feu ou une instance de base de données configurée pour refuser les connexions à distance.

  • Problèmes de surveillance

    • Vérifiez l'état d'exécution de DBGateway.

    • Redémarrez DBGateway et vérifiez si la surveillance reprend.

    • Mettez à jour DBGateway vers la dernière version.

  • L'état reste bloqué sur Authorized. Verifying

    Après une autorisation réussie, l'état de l'instance doit passer à Normal Connection dans un délai d'une à deux minutes. Si l'état reste Authorized. Verifying pendant plus de deux minutes, procédez comme suit :

    • Vérifiez l'état d'exécution de DBGateway.

    • Redémarrez DBGateway et vérifiez si l'autorisation de l'instance a réussi.

    • Mettez à jour DBGateway vers la dernière version.