Tüm Ürünler
Search
Belge Merkezi

Database Autonomy Service:DBGateway SSS

Son Güncelleme:Oct 06, 2026

Bu konuda DBGateway dizin yapısı, temel işlemler ve yaygın sorunların nasıl giderileceği açıklanmaktadır.

DBGateway dizin yapısı

dbgateway
|-- bin
|   |-- dbgateway
|   \-- dbgateway-manager
|-- conf
|   |-- dbgateway.conf
|   \-- server.crt
\-- log
    |-- dbgateway.err
    |-- dbgateway.log
    \-- dbgateway_manager.log    
Not
  • bin dizini ana program olan dbgateway ve DBGateway'i yönetmek için kullanılan yönetim betiği dbgateway-manager dosyalarını içerir.

  • conf dizini DBGateway yapılandırma dosyası olan dbgateway.conf ve iletişim için kullanılan genel anahtar sertifikası server.crt dosyalarını içerir.

  • log dizini DBGateway hata çıktısını içeren dbgateway.err dosyasını, ana DBGateway günlüğünü içeren dbgateway.log dosyasını ve yönetim betiği günlüğünü içeren dbgateway_manager.log dosyasını içerir.

Temel işlemler

  • DBGateway günlüğünü görüntüleyin

    • DBGateway günlük dosyasının tam yolu /opt/dbgateway/log/dbgateway.log şeklindedir.

    • Günlük dosyası düz metin formatındadır; vim, tail, cat ve less gibi standart araçlarla görüntülenebilir.

    Database Autonomy Service (DAS) destek personeli sorun giderme amacıyla DBGateway günlüğünü talep ederse DBGateway'in dağıtıldığı sunucuda oturum açın. Son 200 günlük kaydını almak için aşağıdaki komutu çalıştırın ve çıktıyı destek ekibine iletin.

    tail -n 200 /opt/dbgateway/log/dbgateway.log
  • DBGateway işleminin çalışıp çalışmadığını kontrol edin

    1. DAS konsolu üzerinde oturum açın.

    2. Sol gezinme bölmesinde Resource Management > DBGateways seçeneklerini tıklayın.

    3. DBGateways sayfasında DBGateway'in Current Status değerini kontrol edin.

      Current Status değeri Normal ise DBGateway işlemi çalışıyor demektir. Aksi durumda DBGateway'in dağıtıldığı sunucuda aşağıdaki komutu çalıştırın:

      /opt/dbgateway/bin/dbgateway-manager -d status
      • DBGateway işlemi çalışıyorsa komut şu çıktıyı döndürür:

        DBGateway is running.
      • DBGateway işlemi çalışmıyorsa komut şu çıktıyı döndürür:

        DBGateway is dead.
      Not

      Bu kontrol yalnızca DBGateway işleminin var olduğunu doğrular işlevinin doğru çalıştığını garanti etmez.

  • DBGateway'i yeniden başlatın

    1. Önceki bölümde açıklandığı şekilde DBGateway işleminin çalışıp çalışmadığını kontrol edin.

    2. DBGateway'i yeniden başlatın.

      • DBGateway işlemi çalışıyorsa:

        • DBGateways sayfasında ilgili DBGateway'i bulun ve Actions sütunundaki Management > Restart seçeneğini tıklayın.

        • Alternatif olarak DBGateway'in dağıtıldığı sunucuda aşağıdaki komutu çalıştırabilirsiniz:

          /opt/dbgateway/bin/dbgateway-manager -d restart
      • DBGateway işlemi çalışmıyorsa:

        Bu işlem DAS konsolunda kullanılamaz. İşlemi komut satırından yeniden başlatmanız gerekir. DBGateway'in dağıtıldığı sunucuda aşağıdaki komutu çalıştırın:

        /opt/dbgateway/bin/dbgateway-manager -d restart
  • DBGateway'i yükseltin

    DBGateways sayfasında ilgili DBGateway'i bulun ve Actions sütunundaki Management > Upgrade seçeneğini tıklayın.

  • DBGateway'i durdurun

    • DBGateways sayfasında ilgili DBGateway'i bulun ve Actions sütunundaki Management > Stop seçeneğini tıklayın.

    • Alternatif olarak DBGateway'in dağıtıldığı sunucuda aşağıdaki komutu çalıştırın:

       /opt/dbgateway/bin/dbgateway-manager -d stop
  • DBGateway'i silin

    Not
    • Bir DBGateway'i sildikten sonra ilişkili veritabanı örnekleri için tüm DAS özellikleri kullanılamaz hale gelir.

    • Current Status değeri Normal olan bir DBGateway'i silemezsiniz. Önce DBGateway'i durdurmanız gerekir.

    1. DBGateways sayfasında ilgili DBGateway'i bulun ve Actions sütunundaki Management > Delete seçeneğini tıklayın.

    2. İsteğe bağlı: Kurulum dizinini silmek için DBGateway'in dağıtıldığı sunucuda aşağıdaki komutu çalıştırın.

      rm -rf /opt/dbgateway
  • DBGateway'i yeniden yükleyin

    DBGateway'i sildikten sonra aynı sunucuya yeniden dağıtabilirsiniz. Veritabanı örneğini eklerken DAS konsolunda sağlanan dağıtım komutunu kullanın.

Dağıtım sorun giderme

Bir veritabanı örneğini database gateway in centralized mode veya database gateway in host mode kullanarak bağladığınızda bir dağıtım komutu alırsınız. Aşağıdaki komut bir örnektir. id ve token değerleri yalnızca gösterim amaçlıdır. Kendi dağıtım komutunuzdaki değerleri kullanın.

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
  • DBGateway dağıtım betiği indirilemiyor

    • wget command not found iletisini görüyorsanız wget yardımcı programı yüklü değildir. wget yüklemek için aşağıdaki komutlardan birini çalıştırın:

      sudo apt-get install wget

      veya

      yum -y install wget
    • Sunucunuzun Object Storage Service (OSS) ağına bağlanabildiğini kontrol edin.

      Sunucunuzda OSS alan adını ping komutuyla test edin. Bu örnekte alan adı hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com şeklindedir. Dağıtım komutunuzdaki alan adını kullanın.

      ping hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com
      • Komut aşağıdaki iletiyi döndürürse alan adı çözümlenemiyor demektir. DNS sunucu ayarlarınızı kontrol edin ve DNS hizmetinin doğru çalıştığından emin olun.

        ping: unknown host hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com  
      • ping komutu herhangi bir çıktı vermeden askıda kalıyorsa ağ bağlantısı başarısız olmuş demektir. Aşağıdakileri kontrol edin:

        • Sunucunun ağ yapılandırması.

        • Sunucunun ağ erişim türü (İnternet veya VPC).

        • Ağ erişim türü VPC ise seçilen bölge.

  • DAS sunucusuna bağlantıyı test edin

    DBGateway'i dağıtmak istediğiniz sunucuda aşağıdaki komutu çalıştırın. Bu örnekte DAS sunucu alan adı master-hdm-cn-hangzhou.aliyuncs.com şeklindedir. Dağıtım komutunuzdaki alan adını kullanın.

    telnet master-hdm-cn-hangzhou.aliyuncs.com 80
    • Komut Name or service not known döndürürse alan adı çözümlenemiyor demektir. DNS sunucu ayarlarınızı kontrol edin ve DNS hizmetinin doğru çalıştığından emin olun.

    • Komut Trying ifadesinin ardından Trying 10.0.XX.XX gibi bir IP adresi döndürüp askıda kalıyorsa ağa ulaşılamıyor demektir. Aşağıdakileri kontrol edin:

      • Sunucunun ağ yapılandırması.

      • Sunucunun ağ erişim türü (İnternet veya VPC).

      • Ağ erişim türü VPC ise seçilen bölge.

    • Komut aşağıdaki çıktıyı döndürürse:

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

      DAS sunucusuna bağlantı başarılıdır. DBGateway hala başlatılamıyorsa önceki bölümlere bakın ve daha fazla sorun giderme için DBGateway günlüğünü görüntüleyin.

Çalışma zamanı sorun giderme

  • Kimlik doğrulama başarısız oldu veya yetersiz izinler

    • Yetkili hesabın gerekli izinlere sahip olduğundan emin olun. Aşağıdaki örneklerde yetkili hesap adı olarak das_test kullanılmıştır.

      • 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'}]})

        (Unauthorized) not authorized on admin to execute command hatası alırsanız yetkili hesaba aşağıdaki izinleri verin:

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

        Redis'in bir hesap sistemi yoktur. Parolanın doğru olduğundan emin olun. Redis parolasını değiştirmek için yapılandırma dosyasındaki requirepass seçeneğini değiştirin ve Redis hizmetini yeniden başlatın. Daha fazla bilgi için Redis configuration konusuna bakın.

    • Hesap ve parolanın doğru olduğundan emin olun. Kimlik bilgilerini test etmek için DBGateway sunucusundan veritabanı örneğine uzaktan bağlanmanızı öneririz.

    • DBGateway'i yeniden başlatın ve örneğin başarıyla yetkilendirilip yetkilendirilmediğini kontrol edin.

    • DBGateway'i en son sürüme yükseltin.

  • Bağlantı hatası

    DBGateway bir veritabanı örneğine bağlanamadığında bağlantı hatası oluşur. Aşağıdaki olası nedenleri kontrol edin:

    • Veritabanı örneğinin düzgün çalışıp çalışmadığını kontrol edin.

      MySQL PostgreSQL MongoDB veya Redis gibi bir veritabanı örneği çalışmıyorsa işleminin var olup olmadığını kontrol edin.

    • DBGateway sunucusu ile veritabanı örneği (örneğin MySQL PostgreSQL MongoDB veya Redis) arasındaki ağ bağlantısını kontrol edin. Onaylamak için aşağıdaki komutu çalıştırın:

      telnet <database_instance_IP_or_domain> <database_instance_port>  

      Örnek:

      telnet 192.168.XX.XX 3306
      • Komut aşağıdaki iletiyi döndürürse ağ bağlantısı normaldir. Daha fazla araştırma için DBGateway günlüğünü görüntüleyin.

        Connected to 192.168.XX.XX
        Escape character is '^]'.
      • Önceki ileti döndürülmezse bir ağ bağlantısı sorunu vardır. Bu sorun genellikle sunucular arasındaki ağ izolasyonu yönlendirme ayarları güvenlik duvarı veya uzak bağlantıları reddedecek şekilde yapılandırılmış bir veritabanı örneğinden kaynaklanır.

  • İzleme sorunları

    • DBGateway'in çalışma durumunu kontrol edin.

    • DBGateway'i yeniden başlatın ve izlemenin devam edip etmediğini kontrol edin.

    • DBGateway'i en son sürüme yükseltin.

  • Durum Authorized. Verifying aşamasında takılı kalıyor

    Başarılı yetkilendirmeden sonra örnek durumu bir iki dakika içinde Normal Connection olarak değişmelidir. Durum iki dakikadan uzun süre Authorized. Verifying olarak kalırsa aşağıdaki adımları uygulayın:

    • DBGateway'in çalışma durumunu kontrol edin.

    • DBGateway'i yeniden başlatın ve örneğin başarıyla yetkilendirilip yetkilendirilmediğini kontrol edin.

    • DBGateway'i en son sürüme yükseltin.